はじめまして。みなさまどうか教えてください。
Sheet1にはA列に250行程、コードが存在します。
Sheet2にはA列(コード)からI列まで、そして1000行程データが存在します。
Sheet1にあるコードは重複はなく、Sheet2のコード内に必ず同じコードがあります。
Sheet2にも重複コードはありません。
そこでSheet1のコードを使い、Sheet2を検索し、同一コードのデータ(A列からI列の行すべて)を全て(250件分)、Sheet1のコード記載順(A1、A2、A3・・・・)で、Sheet3に抽出したいのです。
どうか、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
Sub Test()
Dim c As Range, i As Long
Dim myR As Variant
With Sheets("Sheet1")
For Each c In .Range("A1", .Cells(Rows.Count, "A").End(xlUp))
myR = Application.Match(c.Value, Sheets("Sheet2").Columns(1), 0)
If Not IsError(myR) Then
i = i + 1
Sheets("Sheet3").Cells(i, "A").Resize(, 9).Value = _
Sheets("Sheet2").Cells(myR, "A").Resize(, 9).Value
End If
Next
End With
End Sub
No.4
- 回答日時:
Sheet1にあるコードは重複はなく、Sheet2のコード内に必ず同じコードがあるという事ですが
もしSheet2にコードが無い場合、該当なしと表示します。
Sub Macro1()
Set WS01 = Sheets("Sheet1")
Set WS02 = Sheets("Sheet2")
Sheets("Sheet3").Select
Application.ScreenUpdating = False
For i = 1 To WS01.Cells(Rows.Count, 1).End(xlUp).Row
Range("A" & i) = WS01.Range("A" & i)
Range("B" & i).FormulaR1C1 = "=MATCH(RC[-1],Sheet2!C[-1],0)"
Myrow = Range("B" & i)
If Not IsError(Myrow) Then
WS02.Range("B" & Myrow & ":I" & Myrow).Copy
Range("B" & i).PasteSpecial Paste:=xlPasteValues
Else
Range("B" & i) = "該当なし"
End If
Next i
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
No.3
- 回答日時:
一例です。
重複したレコードは無視するようにしています。
Sub sample()
Set st1 = Worksheets("sheet1")
Set st2 = Worksheets("sheet2")
Set st3 = Worksheets("sheet3")
keys = st1.Cells(Rows.Count, "A").End(xlUp).Row
st2.Columns("A:I").AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=st1.Range("A1", "A" & keys), _
CopyToRange:=st3.Range("A1"), _
Unique:=True
End Sub
No.2
- 回答日時:
下記でどうでしょう。
A250、I1000、a.コード=b.コード
は環境に合うように修正のこと
でないと実行時エラー(パラメータが少なすぎます)等のエラーがでます。
あとSheet3のタイトル行は自分で修正のこと
--
Sub sSelect()
Dim strSql As String
Dim cn As Object
Dim rs As Object
Const adOpenForwardOnly = 0
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
With cn
.Provider = "MSDASQL"
.ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};" & _
"DBQ=" & ThisWorkbook.FullName & "; ReadOnly=True;"
.Open
End With
strSql = "Select b.* " _
& "From " _
& " (Select * " _
& " From [Sheet1$A1:A250]) a " _
& "left join " _
& " (Select * " _
& " From [Sheet2$A1:I1000]) b " _
& " on a.コード=b.コード "
Debug.Print strSql
rs.Open strSql, cn, adOpenForwardOnly
Worksheets("Sheet3").Cells(2, 1).CopyFromRecordset rs
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
MsgBox "Sheet3に出力しました"
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 別sheetからの転記なのですが 2 2023/05/22 15:55
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Visual Basic(VBA) VBAで日付入力しているのですが 4 2023/03/02 11:25
- Visual Basic(VBA) VBA active sheetをPDF化して指定フォルダに保存 1 2022/07/07 11:27
- Visual Basic(VBA) VBA For Each 〜 複数条件について 3 2022/10/20 20:05
- Visual Basic(VBA) VBA Userform転記のみ編集可 1 2023/06/29 11:03
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Visual Basic(VBA) VBAでvlookup関数から、別シート参照するやり方・・・ 2 2022/11/14 18:49
- PHP PHPSpreadsheetによる書き出し時のページネーション方法について 1 2023/03/20 10:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
特定行の背景色を変えたいのですが
-
ExcelのVBAコードについて教え...
-
1日に1人がこなせるプログラム...
-
JavaScriptの定数名が取り消し...
-
pythonにてseleniumを使うも、...
-
コマンドボタンを押したときに...
-
オートフィルタで抽出結果に 罫...
-
MIPSのアセンブリ・コードの問...
-
access でエラーを回避するには?
-
欠番の抽出について
-
VBでの「もぐらたたきゲーム作...
-
Exel VBA 別ブックから該当デ...
-
ExcelVBAで「Shift_JIS(MS932)...
-
マザーボードの名前を知る方法
-
ACCESSユニオンクエリでORDER B...
-
スキャンコード取得は MapVirtu...
-
レポートでグループレベルの変...
-
メッシュコードからマップを作...
-
Nullの使い方が不正です。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
pythonにてseleniumを使うも、...
-
ExcelのVBAコードについて教え...
-
access2003 クエリSQL文に...
-
1日に1人がこなせるプログラム...
-
ExcelのVBAコードについて教え...
-
Exel VBA 別ブックから該当デ...
-
chatgptでつくってもらったコー...
-
PreviewKeyDownイベントが2回...
-
JavaScriptの定数名が取り消し...
-
1、Rstudioで回帰直線を求める...
-
JANコードとPOSコードは同じ?
-
JavaScript|特定URLだった時、...
-
ACCESSユニオンクエリでORDER B...
-
特定行の背景色を変えたいのですが
-
変数名「cur」について
-
エクセルに見えない文字(JISX0...
-
COBOLの文法
-
Gitのクローンについて
-
Outlook VBAについて
おすすめ情報