いつも大変お世話になっております。
VBAについてご教示ください。
現在、手元にSheet1のデータがあります。
下記の条件の下、Sheet1のD2:D4のデータ(即ち、Sharesのデータ)をSheet2に自動的に反映させたいのですが、その時どのようなVBAコードで可能となるかご教示ください。
Sheet1の状況およびVBA作業後のSheet2は下の画像をご覧ください。
条件:
1) Sheet1はダウンロードした数値・情報で、特定のセルを手作業で動かすなどこのシート上のマニュアル操作はないものとします。
2) 現在のSheet1ではSheet2に反映するのは3セルだけですが、この数は変動するものとします。(つまり、現在はRow1-3のみですが、Row1-50など数が多くなる場合もSheet2に反映されるようにしたいのです。)
3) Sheet2のAAA,BBBなどの名前は入力されていますが、必ずしもSheet1の名前と一致しません。名前の最初の方は一致するものとします。(例えば、Sheet1ではAAA PLCとありますが、Sheet2ではAAAと表示されています。)また、Sheet2では必ずしも名前がアルファベット順になっているとは限りません。
4) 緑に網掛けする必要はありません。画像ではお伝えしやすく緑の網掛けにしています。
初心者の質問で大変申し訳ございませんが、お力をお貸しください。
どうぞよろしくお願い申し上げます。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
Sub Macro1()
Dim rng1 As Range
Dim rng2 As Range
Dim cData As Range
Dim c As Range
Dim num As Variant
'シート1の検索範囲設定
Set rng1 = Worksheets("Sheet1").Cells(2, "B")
Set c = rng1.Offset(1, 0)
Do While c.Offset(0, -1).Value = c.Offset(-1, -1).Value + 1
Set rng1 = Union(rng1, c)
Set c = c.Offset(1, 0)
Loop
'シート2の検索範囲設定
Set cData = Worksheets("Sheet2").Cells(5, "B")
Set rng2 = Range(cData, cData.End(xlDown))
'シート2古いデータをクリア
Range(cData.Offset(0, 1), cData.Offset(0, 1).End(xlDown)).ClearContents
'検索
For Each c In rng2
num = Application.Match(c.Value & "*", rng1, 0)
If IsNumeric(num) Then
c.Offset(0, 1).Value = rng1(num).Offset(0, 2).Value
End If
Next
End Sub
教示とは名ばかりの依頼だけですね。あなたは初心者ですらない。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Visual Basic(VBA) VBA For Each 〜 複数条件について 3 2022/10/20 20:05
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Excel(エクセル) エクセルカレンダーに予定表を反映したいです。 6 2022/09/30 14:39
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Excel(エクセル) 【Excel質問】別シートにある複数の同型の表から、同じ行項目にある数字を集計する 4 2023/02/16 00:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
マクロ実行後に別シートの残像...
-
100万件越えCSVから条件を満た...
-
Count Ifのセルの範囲指定に変...
-
VBA 別ブックからの転記の高速...
-
VBA 空白行に転記する
-
【VBA】特定の条件でセルをコピー
-
EXCELのSheet番号って変更でき...
-
VBA Userformで一部別シートに...
-
VBA別シートの最終行の次行へ転...
-
Changeイベントで複数セルへの...
-
複数シートの複数列に入力され...
-
Excelマクロで不要な行を繰り返...
-
Excel2013で切り取り禁止
-
月毎に現金出納帳に転記するコ...
-
VBAで、1つのエクセルで、2つの...
-
VBAで変数の数/変数名を動的に...
-
Excel VBA オートフィルターで...
-
前回質問の続きになりますが、...
-
VBAを使って複数のシートから抽...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
マクロ実行後に別シートの残像...
-
VBA 空白行に転記する
-
EXCELのSheet番号って変更でき...
-
VBA 別ブックからの転記の高速...
-
VBA別シートの最終行の次行へ転...
-
100万件越えCSVから条件を満た...
-
VBAで変数の数/変数名を動的に...
-
Unionでの他のシートの参照につ...
-
VBA 実行時エラー1004 rangeメ...
-
【VBA】特定の条件でセルをコピー
-
楽天RSSからエクセルVBAを使用...
-
【Excel VBA】自動メール送信の...
-
Changeイベントで複数セルへの...
-
Excel2013で切り取り禁止
-
Excel VBA オートフィルターで...
-
Count Ifのセルの範囲指定に変...
-
複数シートの複数列に入力され...
-
アクセスからエクセルへ出力時...
-
グラフマクロで系列を変数にす...
おすすめ情報