連想配列を配列に格納したいです。
vba初心者です。今集計マクロを作成中なのですが、上手くいきません。
ご教示頂けたら幸いです。
ソース
Sud countNumbers()
Dim i As Integer
Dim sline As Integer
sline = 1
Set sd = CreateObject(″Scripting.Dictionary″)
Application.ScreenUpdating= False
For i = 5 To 500
sNo=Worksheets(1).Cells(sline,i).Value
sd(sNo) = sd(sNo) + 1
Next
Application.ScreenUpdating = True
i = 1
For Each sn In sd
Worksheets(1).Cells(1,i).Value = sn & ″が″ & sd(sn) & ″件″
i = i + 1
Next
Set sd = Nothing
End Sub
この値を配列に貯めて、1つのセルに参照したいのですが!
上手くいきません…
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
こんにちは
>今集計マクロを作成中なのですが、上手くいきません
うまくいかない場合は、コードを見ても実際に何をしたいのかわかりませんので、「何をどうしたいけれど、○○がうまくいかない」という説明をしないと回答ができないと思います。
ご提示のコードで気が付くのは、ます
Sud → Sub
(全角の)”→ (半角)"
の修正が必要と思われること。
以下、勝手な推測ですが・・・
1行目(5列から500列まで)の値を参照して、同じものの重複回数をカウントし、その結果を表示したい。
ということと解釈しました。(もしかすると1列目なのかも知れませんが、コードは行になっているので)
ご提示のコードでは結果の表示が、1行目1列からになっていますが、項目数が4以上あると元のデータ部分をに上書きすることになってしまいますので、4項目までを表示するように制御するか。別のセルに表示するようにした方が良さそうに思います。
結果を、2行目に左詰で表示するものとして、サンプルにしてみました。
・空白セルはカウントからはずしています。
・シート名を省略していますので、アクティブシートに対して処理が行われます。
Sub Sample()
Dim sd As Object
Dim val As String
Dim i As Long, k
Set sd = CreateObject("Scripting.Dictionary")
For i = 5 To 500
val = Cells(1, i).Value
If val <> "" Then
If sd.Exists(val) Then sd(val) = sd(val) + 1 Else sd(val) = 1
End If
Next i
k = sd.Keys
For i = 0 To sd.Count - 1
Cells(2, i + 1).Value = k(i) & "が" & sd(k(i)) & "件"
Next i
Set sd = Nothing
End Sub
お返事遅れて大変申し訳ありません!
やりたい事は500行500列のデータがあります。
一行一行に商品があり。
1列ずつには、発注数があります。
何の商品に発狂数が何件あるかを合計せずに、重複している数字は重複回数を記載して集計したいのです!
本日は、時間の都合で試せないのですが…
サンプルマクロは、参考にさせて頂きます!
また結果がで次第ご連絡いたします。
ご教授大変感謝いたします。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
「平成」を感じるもの
「昭和レトロ」に続いて「平成レトロ」なる言葉が流行しています。 皆さんはどのようなモノ・コトに「平成」を感じますか?
-
「覚え間違い」を教えてください!
私はかなり長いこと「大団円」ということばを、たくさんの団員が祝ってくれるイメージで「大円団」だと間違えて覚えていました。
-
2024年のうちにやっておきたいこと、ここで宣言しませんか?
2024年も残すところ50日を切りましたね。 ことしはどんな1年でしたか? 2024年のうちにやっておきたいこと、 よかったらここで宣言していってください!
-
タイムマシーンがあったら、過去と未来どちらに行く?
20XX年、ついにタイムマシーンが開発されました。 あなたは過去に行く? それとも未来? タイムマシーンにのって、どこに行って、何をしたいか教えてください!
-
【Excel VBA】指定行以降をクリアするには?
Visual Basic(VBA)
-
EXCEL VBA Dictionaryで複数の値を格納→離れた位置に出力する方法
Excel(エクセル)
-
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
-
4
private subモジュールを他のモジュールから呼び出して使う方法を教えてください(-.-)
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/6】 西暦2100年、小学生のなりたい職業ランキング
- ・ちょっと先の未来クイズ第5問
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAを使って、値...
-
Excelで指定した日付から過去の...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel VBA】指定行以降をクリ...
-
Excel VBA、 別ブックの最終行...
-
【VBA】指定したセルと同じ値で...
-
Excelのプルダウンで2列分の情...
-
”戻り値”が変化したときに、マ...
-
特定のセルが空白だったら、そ...
-
DataGridViewの各セル幅を自由...
-
EXCELで変数をペーストしたい
-
セル色なしの行一括削除
-
連続する複数のセル値がすべて0...
-
Application.Matchで特定行の検索
-
DataGridViewで列、行、セルの選択
-
特定の文字を条件に行挿入とそ...
-
【VBA】シート上の複数のチェッ...
-
【EXCEL VBA】Range("A:A").Fi...
-
Excel VBA マクロ ある列の最終...
-
3桁または4桁の数値を時刻に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
-
Excelで指定した日付から過去の...
-
特定のセルが空白だったら、そ...
-
【Excel VBA】指定行以降をクリ...
-
Excelのプルダウンで2列分の情...
-
EXCELで変数をペーストしたい
-
VBA実行後に元のセルに戻りたい
-
Excel2003 複数セル1列の入力済...
-
Excel vbaで特定の文字以外が入...
-
VBA初心者です。結合セルを保持...
-
TODAY()で設定したセルの日付...
-
EXCELのVBA-フィルタ抽出後の...
-
【VBA】指定したセルと同じ値で...
-
特定の文字を条件に行挿入とそ...
-
Excel VBA、 別ブックの最終行...
-
VBAでセルをクリックする回...
-
”戻り値”が変化したときに、マ...
-
【Excel】指定したセルの名前で...
-
【EXCEL VBA】Range("A:A").Fi...
おすすめ情報