Sheet1とSheet2のB列を参照して同じ値が存在する場合は、Sheet1の行を削除するマクロを作成したいのですがどのように記述したらよいか分かりません。
Sheet1とSheet2のB列を参照して同じ値が存在する場合は、Sheet3にSheet1の行をコピーするマクロはホームページ等を参照して下記のように記述できました。
Public Sub copy()
Dim tempRange As Range
Dim fax1Table As Range
Dim fax2Table As Range
Dim dst As Range
Dim FoundCell As Range
'fax1範囲指定
Worksheets("Fax1").Activate
Set fax1Table = Range("a1").CurrentRegion
Set fax1Table = fax1Table.Offset(1)
Set fax1Table = fax1Table.Resize(fax1Table.Rows.Count - 1)
'fax2範囲指定
Worksheets("Fax2").Activate
Set fax2Table = Range("a1").CurrentRegion
Set fax2Table = fax2Table.Offset(1)
Set fax2Table = fax2Table.Resize(fax2Table.Rows.Count - 1)
'比較開始
Worksheets("fax1").Activate
'見出しコピー
Set dst = Worksheets("fax3").Range("a1")
Range("a1:ad1").copy dst
'レコード抽出
For Each tempRange In fax1Table.Rows
Set FoundCell = fax2Table.Columns(2).Find(tempRange.Columns(2).Value, , xlValues, xlWhole)
If Not FoundCell Is Nothing Then
Set dst = dst.Offset(1)
tempRange.copy dst
End If
Next tempRange
'比較終了
'セル幅自動調整
Worksheets("fax3").Range("a:g").Columns.AutoFit
Worksheets("fax3").Activate
End Sub
No.1ベストアンサー
- 回答日時:
こんばんは!
コードを詳しく見させてもらっていませんが・・・
>Sheet1とSheet2のB列を参照して同じ値が存在する場合は、Sheet1の行を削除するマクロを作成したい
という要望だけの方法の一例です。
両Sheetとも1行目はタイトル行で2行目以降にデータがあるとします。
Sub test()
Dim i As Long
Dim ws1, ws2 As Worksheet
Set ws1 = Worksheets("sheet1") '←Sheet名は適宜変更してください。
Set ws2 = Worksheets("sheet2") '←こちらのSheet名も適宜変更
For i = ws1.Cells(Rows.Count, 2).End(xlUp).Row To 2 Step -1
If WorksheetFunction.CountIf(ws2.Range("B:B"), ws1.Cells(i, 2)) Then
ws1.Rows(i).Delete (xlUp)
End If
Next i
End Sub
上記のコードを標準モジュールにコピー&ペーストしてマクロを実行してみてください。
参考になれば良いのですが
外していたらごめんなさいね。m(__)m
No.3
- 回答日時:
一例です。
Sub test01()
Dim myW, myW2, myV
Dim buf As Boolean
Dim i As Long, j As Long, n As Long, m As Long, x As Long, y As Long, z As Long
With Sheets("Sheet1")
myW = .Range("A1", .UsedRange.Cells(.UsedRange.Count)).Value
End With
With Sheets("Sheet2")
myV = .Range("B1", .Cells(Rows.Count, "B").End(xlUp)).Value
End With
x = UBound(myW, 1)
y = UBound(myW, 2)
z = UBound(myV, 1)
ReDim myW2(1 To x, 1 To y)
For i = 1 To x
For n = 1 To z
If myW(i, 2) = myV(n, 1) Then
buf = True
Exit For
End If
Next n
If buf Then
buf = False
Else
j = j + 1
For m = 1 To y
myW2(j, m) = myW(i, m)
Next m
End If
Next i
With Sheets("Sheet1")
.Cells.ClearContents
.Range("A1").Resize(x, y).Value = myW2
End With
End Sub
No.2
- 回答日時:
すいません。
ブランクが長いのでコードは分かりません。sheet1のB列の最終行から検索をかけて削除する必要があります。そのためにEnd(xlUp)で最終行を取得します。その次に変数をもうけ、for 変数 = 最終行 to 1 step -1 で下からどんどん検索します。
forの中にif をもうけて if worksheets(変数1).cells(,B) = worksheets(2).cells(変数,B) then worksheets(1).rows(変数).delete end if
をすればよいのではないでしょうか?
ってそんな簡単にはいかないですかね?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Excel(エクセル) エクセル 値をコピペした時に、条件付き書式で塗られた背景色もペーストさせる 2 2023/04/05 17:21
- Visual Basic(VBA) Sheet1をフィルターで「りんご」を抽出し、Sheet2へ地域を貼り付ける下記マクロを変更して S 2 2022/12/11 03:01
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VBの質問#if 0 then ってどう言う意味?
Excel(エクセル)
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
EXCEL VBA 条件に合致しない行を削除したい
Visual Basic(VBA)
-
-
4
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
5
【VBA】条件に一致しない行を削除したい 複数条件
Visual Basic(VBA)
-
6
【Excel VBA】指定行以降をクリアするには?
Visual Basic(VBA)
-
7
【VBA】2つのシートの値を比較して条件一致したら、同じ行の隣の値を別ブックへ転記したいです。 VB
Visual Basic(VBA)
-
8
【VBA】条件に一致しない行を削除したい
Visual Basic(VBA)
-
9
文字列の結合を空白行まで実行
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1点取られてもノーヒットノー...
-
臨時代走のスコアブック記載方法
-
第一弾?第一段?
-
野球のボールが見えない!
-
投手失策と失策の違いを教えて...
-
中学から野球を始めた中一です...
-
ファールボールを捕球し観客席...
-
雨で試合が流れたら先発投手は...
-
野球のルールで右安などの漢字...
-
練習をしないで、レギュラーお...
-
ピッチャー本人がエラーした場...
-
野球で、打・得・安・四・点と...
-
レベルE 誰が超能力者?
-
WBCに興味無い奴は日本人じゃな...
-
日刊スポーツのスコア。投手の...
-
ナルト シリーズの区切りを教...
-
スコアボードの「R」って何です...
-
ジーク・ジオン
-
公立高校野球部ベンチ入りメン...
-
大学でマネージャーをしてる女...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
もしかして、水原一平さん大谷...
-
雨天コールドゲームは何回で成...
-
第一弾?第一段?
-
どかんと一発やってみようよ、...
-
三相電源の各相(RST)の意味
-
丸1年とは?
-
高校一年の女子です。 野球部の...
-
臨時代走のスコアブック記載方法
-
「ギター」って漢字(日本名)は...
-
野球のルールで右安などの漢字...
-
宿題を出さないのと、答え丸写...
-
練習をしないで、レギュラーお...
-
ジーク・ジオン
-
右投手は何て言うんですか?
-
ナルト シリーズの区切りを教...
-
ノーゲームとコールドの条件
-
女性からサッカーやってそうと...
-
野球で、打・得・安・四・点と...
-
日刊スポーツのスコア。投手の...
-
ピッチャー本人がエラーした場...
おすすめ情報