VBA

VBA プログラミング Withで同じオブジェクト名を省略

目安時間 4分
  • コピーしました

今回は、「酒店舗別」「分類別」で集計を行います。
Withの使い方を理解して頂きたいです。
【課題】
シート「Sheet1」、「Sheet1_回答」を用意します。
シート「Sheet1」には、「酒店舗」「分類」「売上」を記載します。
シート「Sheet1_回答」には、シート「Sheet1」の酒店舗・分類別に売上を集計する。
※前提条件 シート「Sheet_回答」には、すべての酒店舗と分類が必ずあるとします。

【VBA】

Sub syukei_Clic()
    Dim i As Long
    Dim ixR As Long
    Dim ixC As Long
    Dim ws1 As Worksheet
    Dim ws2 As Worksheet
    Set ws1 = Worksheets("Sheet1")
    Set ws2 = Worksheets("Sheet1_回答")
    ws2.Range("A1").CurrentRegion.Offset(1, 1).ClearContents
    With ws1
        For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
            ixC = 2
            Do Until ws2.Cells(1, ixC) = .Cells(i, 1)
                ixC = ixC + 1
            Loop
            ixR = 2
            Do Until ws2.Cells(ixR, 1) = .Cells(i, 2)
                ixR = ixR + 1
            Loop
            ws2.Cells(ixR, ixC) = ws2.Cells(ixR, ixC) + .Cells(i, 3)
        Next
    End With
End Sub

簡単な説明
ws2.Range("A1").CurrentRegion.Offset(1, 1).ClearContents
・初期クリアーします
「With ws1」〜「End With」は「Sheet1」について処理を行う。
・「.Cells」、「.Rows.Count」については、「ws1.Cells」、「ws1.Rows.Count」を意味します。
・これが、「同じオブジェクト名を省略」ということになります。
「Do Until ws2.Cells(1, ixC) = .Cells(i, 1)」はループ処理を行う。
・「Sheet1」の酒店舗から「Sheet1_回答」と同じ酒店舗を探す。
「Do Until ws2.Cells(ixR, 1) = .Cells(i, 2)」はループ処理を行う。
・「Sheet1」の酒名から「Sheet1_回答」と同じ酒名を探す。
「ws2.Cells(ixR, ixC) = ws2.Cells(ixR, ixC) + .Cells(i, 3)」は、売上合計を算出する。
・「Sheet1」の各酒店舗、各酒名の売上を、「Sheet1_回答」に設定する。

あなたのお役に立てるなら、コピーして使用してください。

今後も勉強した内容を記載して行きますので、お役に立てるものがあれば使ってください。

VBA開発もしておりますので開発のご要望があればご連絡をください。

VBA開発依頼受付はこちらから

  • コピーしました

この記事に関連する記事一覧

この記事を書いた人

すーさん

生きるためにはお金が必要

すーさん

50歳を超えてから副業を始めました。 どのような副業をしようか、悩みに悩んだ結果、『どんなものでも売る力』をつける。 これしかないです。 そのために、マーケティングを学ぶことを決めました。 古来より、価値の交換(ものを売る)は行われてきました。 これからも、価値の交換(ものを売る)は無くなるとは思えません。 今だけ稼ぎたいなら他にも選択はあるが、年と共に覚えも悪くなるので、いつまでも使える知識としてマーケティングを選びました。 マーケティングは学べば学ぶほど面白いものです。 人はどうしてそれを選ぶのだろう、人はどうしてそれを買うのだろう、人はどうしてそれを買わないのだろう。 このようなことがわかれば、後はどのようにすれば、人は選び、買ってくれるのかがわかります。 あなたも少しでも興味がありましたら、私と一緒に学びましょう。 「売れなかったものでも」「どんなものでも」『売る力』を身につけましょう。 お問い合わせ

コメントフォーム

名前  (必須)

メールアドレス (公開されません) (必須)

URL (空白でもOKです)

コメント

CAPTCHA


トラックバックURL: 
 プロフィール

すーさん

生きるためにはお金が必要

すーさん

50歳を超えてから副業を始めました。 どのような副業をしようか、悩みに悩んだ結果、『どんなものでも売る力』をつける。 これしかないです。 そのために、マーケティングを学ぶことを決めました。 古来より、価値の交換(ものを売る)は行われてきました。 これからも、価値の交換(ものを売る)は無くなるとは思えません。 今だけ稼ぎたいなら他にも選択はあるが、年と共に覚えも悪くなるので、いつまでも使える知識としてマーケティングを選びました。 マーケティングは学べば学ぶほど面白いものです。 人はどうしてそれを選ぶのだろう、人はどうしてそれを買うのだろう、人はどうしてそれを買わないのだろう。 このようなことがわかれば、後はどのようにすれば、人は選び、買ってくれるのかがわかります。 あなたも少しでも興味がありましたら、私と一緒に学びましょう。 「売れなかったものでも」「どんなものでも」『売る力』を身につけましょう。 お問い合わせ

最近の投稿
アーカイブ