
No.1ベストアンサー
- 回答日時:
こんにちは
条件が出揃っていませんので・・回答付かずですね
やり取りを望んでいらっしゃるのでしょうか?
>宜しくお願いいたします。
何をお願いされているのか分かりませんがDIYキットのような
例を書いてみます
想定条件で主な処理
>「ブック1」の「貼付」シートのB列の値が
「ブック2」の「参照」シートのAV列の値と同じ場合
「ブック2」の「参照」シートのG列の値を
「ブック1」の「貼付」シートのV列に返したいです。
>C:\Users\〇〇〇\Desktop\新しいフォルダー 内の
何処から実行するのか、どのような状態環境なのか不明の為
①自身で設定して(対象ブックの設定)
Set bk1 = ブック1
Set bk2 = ブック2
②ブック2のデータ取得
Dim k, v
With bk2.Worksheets("参照")
k = Application.Transpose(.Range(.Cells(1, "AV"), .Cells(.Rows.Count, "AV").End(xlUp)))
v = Application.Transpose(.Range(.Cells(1, "G"), .Cells(.Rows.Count, "G").End(xlUp)))
End With
Set bk2 = Nothing
③ブック1のデータ取得
Dim ck, cv
With bk1.Worksheets("貼付")
ck = Application.Transpose(.Range(.Cells(1, "B"), .Cells(.Rows.Count, "B").End(xlUp)))
cv = Application.Transpose(.Range(.Cells(1, "V"), .Cells(.Rows.Count, "V").End(xlUp)))
End With
>B列の値がAV列の値と同じ場合 ?行も同じでいいかな
>G列の値をV列に返したいです。 ?不一致の場合元のデータのままでいいかな
とすると
④仮定条件でデータを作成
Dim i As Long
Dim vv
ReDim vv(LBound(ck) To UBound(ck))
For i = LBound(ck) To UBound(ck)
On Error Resume Next
If k(i) = ck(i) Then
vv(i) = v(i)
Else
vv(i) = cv(i)
End If
Next
⑤結果を出力
If UBound(vv) > 0 Then
bk1.Worksheets("貼付").Range("V1").Resize(UBound(vv)) = Application.Transpose(vv)
End If
>VBAでなるべく処理の早い方法
比較するものが提示されていないので不問(取り敢えず配列で)
Set bk1 = ブック1 Set bk2 = ブック2 を適切に設定すれば
つなげる事で実行可能と思いますが・・未検証
ブロックごとに分けているので改造は簡単?
仮定条件なので違えば
④仮定条件でデータを作成 の条件を変更、添削してください
組み立て改造などは自己責任で行ってください
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルシートのデータを1列飛ばしで別ブックのシートに貼り付けるマクロが知りたい 2 2023/06/05 22:37
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Excel(エクセル) セルの値と同じ名前のシートのセルの結合を解除する方法を教えてください 3 2022/10/03 10:23
- Visual Basic(VBA) 【部分一致した行を含む8行をシートにコピーする方法】 以下のような作業を行いたいのですが、どなたがコ 1 2022/08/30 16:24
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別ブックをダイアログボックス...
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
VBA 別ブックからコピペしたい...
-
【Excel VBA】書き込み先ブック...
-
VBAで別ブックのシートを指定し...
-
VBA コードを実行すると画面が...
-
ワイルドカード「*」を使うとう...
-
vbaでvbaProjectのパスワード解...
-
VBS Bookを閉じるコード
-
【ExcelVBA】zip圧縮されたCSV...
-
Excelマクロ 該当する値の行番...
-
VBA 実行時エラー 2147024893
-
Excel2013 ウインドウサイズの固定
-
2つ目のコンボボックスが動作...
-
シートをコピーする下記記述で...
-
Dir関数で複数ブックへ行いたい...
-
VBAで別のブックにシートをコピ...
-
[Excel]ADODBでNull変換されて...
-
VBA 特定のユーザーのみパス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
VBA 別ブックからコピペしたい...
-
エクセルVBAが途中で止まります
-
ワイルドカード「*」を使うとう...
-
VBA コードを実行すると画面が...
-
VBAで別のブックにシートをコピ...
-
VBAで別ブックのシートを指定し...
-
【Excel VBA】書き込み先ブック...
-
Excelマクロ 該当する値の行番...
-
【ExcelVBA】zip圧縮されたCSV...
-
[Excel]ADODBでNull変換されて...
-
【ExcelVBA】インデックスが有...
-
Excel2007VBAファイルの表示に...
-
VBAで複数のブックを開かずに処...
-
vbaで他のブックに転記したい。...
-
エクセルマクロで、他ブックか...
-
vbaでvbaProjectのパスワード解...
-
VBA 実行時エラー 2147024893
-
【マクロ】違うフォルダにある...
おすすめ情報