戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
vbaでクロス集計がうまくいきません

    [191727] vbaでクロス集計がうまくいきません-

    ■親トピック/記事引用/メール受信=ON■

    □投稿者/ Goodday -(2020/04/12(13:21))
    □U R L/
      vba学習中の者です。クロス集計のプログラムを作ってみたのですが「アプリケーション定義またはオブジェクト定義のエラ-です」となってしまいます。
      なぜうまくいかないのかわかりません。手ほどきいただけると助かります。
      支店はA,B,Cの三つだけ、分類もビールとワイン、焼酎の三つだけであることがあらかじめわかっているものとします。
      
      明細
      支店   分類   売上
      A支店  ビール   1000
      B支店  ワイン   2000
      A支店  ワイン   2500
      
      クロス集計表
          A支店  B支店  C支店
      ビール
      ワイン
      焼酎
      
      Sub crosstabulation()
      Dim i As Long 'ws2の列数
      Dim j As Long 'ws2の行数
      Dim k As Long 'ws1の行数
      Dim ws1 As Worksheet
      Dim ws2 As Worksheet
      Set ws1 = Sheets("明細")
      Set ws2 = Sheets("クロス集計表")
      k = 2
      With ws2
      For i = 2 To .Cells(1, .Columns.Count).End(xlLeft).Column
          For j = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
              Do Until ws1.Cells(k, 1) = .Cells(1, i) And ws1.Cells(k, 2) = .Cells(j, 1)
                      k = k + 1
              Loop
              .Cells(j, i) = .Cells(j, i) + ws1.Cells(k, 3)
              
          Next
      Next
      End With
      End Sub


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他



      ++++++++++++++++++++
      OS      ⇒Windows 2000
      Version⇒Excel 2000
      ++++++++++++++++++++




    [191728] Re[1]: vbaでクロス集計がうまくいきません-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2020/04/12(13:31))
    □U R L/

      Kをリセットしないからでは?

      ところで、数式(SUMPRODUCT)を使えば簡単だと思います。




    [191729] Re[2]: vbaでクロス集計がうまくいきません-

    記事引用/メール受信=OFF■

    □投稿者/ Goodday -(2020/04/12(13:41))
    □U R L/

      早速ありがとうございます。
      現在、vba基礎の学習中でwithとクロス集計の問題を解いている関係で数式を使わずに解きたいと思っています。

      さて、本当に基本的なことだとは思うのですが「kのリセット」とは何で、どのようなプログラムを加えればよいのでしょうか?

      恐れ入りますがよろしくお願いします。




    [191730] Re[3]: vbaでクロス集計がうまくいきません-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2020/04/12(13:57))
    □U R L/
      Do〜Loopに入る時は、必ずk=2から始めるべきではということです。
      
      
      
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [191731] Re[4]: vbaでクロス集計がうまくいきません-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2020/04/12(14:12))
    □U R L/
      よくみたら、途中でループを抜けたら駄目では?
      ループの中で集計しないと。
      
      つまり、Do〜Loopの意味なし。
      For k=2 to 最終行
      ですね。
      
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [191732] Re[4]: vbaでクロス集計がうまくいきません-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ Goodday -(2020/04/12(14:12))
    □U R L/

      ありがとうございます!
      解決しました。

      こういう一つ一つでつまずき悪戦苦闘です(笑)
      本当に助かりました。



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G