
prefShのB列の値をKeyとして、A列・E列・M列の値をItemに格納し、それぞれ workShのA列・U列・C列に出力したいのですが、その場合はどのように書き換えたらよいか、ご教示いただけませんでしょうか。(prefShでは2行目から最終行まで値を取得し、workShでは3行目から値を入れたいです)
Findメソッドでエラーが起きたので、Dictionaryを初めて使い、現在はA列→A列のみ成功している状態です。↓ お知恵を貸していただけますよう、お願いいたします。
-------------------
Dim myDic As New Dictionary
Dim i As Long
With prefSh
For i = 2 To .Cells(.Rows.Count, 2).End(xlUp).Row
If Not myDic.Exists(.Cells(i, 2).Value) Then
myDic.Add .Cells(i, 2).Value, .Cells(i, 1).Value
End If
Next i
End With
Dim vKey As Variant
With workSh
i = 1
For Each vKey In myDic
i = i + 1
.Cells(i + 1, 2).Value = vKey
.Cells(i + 1, 1).Value = myDic.Item(vKey)
Next
End With
Set myDic = Nothing
No.1ベストアンサー
- 回答日時:
初級者ですのでお手柔らかにお願いします。
Dim myDic As New Dictionary
Dim i As Long
With prefSh
For i = 2 To .Cells(.Rows.Count, 2).End(xlUp).Row
If Not myDic.Exists(.Cells(i, 2).Value) Then
myDic.Add .Cells(i, 2).Value, Array(.Cells(i, "A").Value , .Cells(i, "E").Value , .Cells(i, "M").Value)
End If
Next i
End With
Dim vKey As Variant
With workSh
i = 3
For Each vKey In myDic
.Cells(i, 2).Value = vKey
.Cells(i, "A").Value = myDic(vKey)(0)
.Cells(i, "U").Value = myDic(vKey)(1)
.Cells(i, "C").Value = myDic(vKey)(2)
i = i + 1
Next
End With
Set myDic = Nothing
ご丁寧にありがとうございました。
Dim i As Longの部分から全て使わせていただき、= myDic.Item(vKey)(0)に変更しなくても問題なくプログラムを実行することができました。
大変勉強にもなり、ありがとうございました。
No.2
- 回答日時:
No.1です。
参照設定されてたのですね。
普段しないので見落としました。
もしダメな時は
= myDic.Item(vKey)(0)
などに変更してみて下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA Scripting.Dictionary 連想配列 複数参照する方法
Excel(エクセル)
-
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
Dictionaryを使い4つの条件の一致で2つの集計列を集計したいのです
Visual Basic(VBA)
-
6
エクセルVBA 配列からセルに「関数式」を一気代入したい
Visual Basic(VBA)
-
7
VBAで重複する項目を1つにまとめて金額を合計したい
Excel(エクセル)
-
8
ExcelVBAで質問です。離れた二次元配列を一つにしたい
Visual Basic(VBA)
-
9
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
10
UserForm1.Showでエラーになります。
工学
-
11
【ExcelVBA】5万行以上のデータ比較の効率的な処理方法について
Visual Basic(VBA)
-
12
Excelの入力規則で2列表示したい
Excel(エクセル)
-
13
動的配列が存在(要素が有る)か否かを判定できますか?
Visual Basic(VBA)
-
14
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
15
Excel2000/VBA:値と書式のみ貼り付けたい。
Excel(エクセル)
-
16
VBAでダブルコーテーション入りの数式をセルにセットしたい
Visual Basic(VBA)
-
17
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
18
VBA 配列に格納した値の平均のやり方についてお教え願います
Visual Basic(VBA)
-
19
配列の値を置換するにはどうすればいいでしょう?
Excel(エクセル)
-
20
VBA スペースが入力されていても、空白セルと判断する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
隣の枝がはみ出してきたら切ってもいい?最もやってはいけないことは?
「隣の木が越境してきて困るが、勝手に切ってはいけないと聞くし…」そう思っている方も多いだろう。実は、2023年4月1日に民法が改正され、この「越境枝」のルールが大きく変わった。 教えて!gooでも「境界から出て...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
血液検査の結果が悪くefgrの値...
-
彼女のことが好きすぎて彼女の...
-
エクセルのラベルの値(文字列...
-
EXCELで条件付き書式で空白セル...
-
検便についてです。 便は取れた...
-
腕を見たら黄色くなってる部分...
-
風俗店へ行く前のご飯
-
勃起する時って痛いんですか? ...
-
値が入っているときだけ計算結...
-
精液の落とし方を教えてください
-
ワードのページ番号をもっと下...
-
2つの数値のうち、数値が小さい...
-
リンク先のファイルを開かなく...
-
病院側から早く来てくださいと...
-
テスターで断線を調べる方法教...
-
Excel 0目標に対して数字があ...
-
納豆食べた後の尿の納豆臭は何故?
-
アクエリアスが苦く感じる
-
男性に質問 お尻の穴を見せた...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
血小板増加について
-
彼女のことが好きすぎて彼女の...
-
Excel 数値の前の「 ' 」を一括...
-
病院側から早く来てくださいと...
-
VLOOKUP関数を使用時、検索する...
-
腕を見たら黄色くなってる部分...
-
値が入っているときだけ計算結...
-
リンク先のファイルを開かなく...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
小数点以下を繰り上げたものを...
-
一番多く表示のある値(文字列...
-
MIN関数で空白セルを無視したい...
-
勃起する時って痛いんですか? ...
-
エクセルで空白セルを含む列の...
-
増減表のプラスマイナスの符号...
-
【Excelで「正弦波」のグラフを...
-
エクセルで数式の答えを数値と...
おすすめ情報