Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6325 / 76734 ←次へ | 前へ→

【76010】Re:別シートの値と比較し、削除、追加を行いたい
発言  MARUMO  - 14/8/18(月) 15:11 -

引用なし
パスワード
   ▼kanabun さん:
>▼MARUMO さん:
>
>>SheetAの方は、型番が複数存在するイメージで
>>書いてしまってました。
>>今の所、同じ型番が複数行になる見込みだそうです。
>>(すみません。先程わかりました)
>
>> 1.SheetBに同じ型番がみつかれば、SheetBからすべて削除
>> 2.SheetAの2行目から最終行までをSheetBの最終行+1
>> に貼り付け。
>
>この処理は
>
>1. SheetA の複製を作り(SheetA'とする)
>2. SheetBの型番を上から順に見ていって SheetA'になかったら、
>  SheetA'の最終行+1行にコピーして追加。
>3. 最後にもとのSheetB を削除して SheetA' を SheetB に改名。
>
>と同じことだと思うけど?
>そうなら、後者の方法のほうが作業量が少ない(行削除しない)ので
>効率的ですよね?

沢山のアドバイスありがとうございます。
データの持ち方、正しい処理を行ううえでは
おっしゃる通りなのですが、
今回のデータについては、少し特殊と言いますか・・・
ファイルを使っている方に確認をしたところ、
データは置き換えでいいとの事でしたので
あれから、なんとか下記までたどり着けました。

(↓シート名等は変更しております。)

Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim lastRow As Long
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim r As Long

Set ws1 = Sheets("db")'SheetB
Set ws2 = Sheets("wk")'SheetA

’同じ型番があれば削除
lastRow = ws1.Range("D" & Rows.Count).End(xlUp).Row
For r = lastRow To 2 Step -1
If WorksheetFunction.CountIf(ws2.Columns("D"), ws1.Range("D" & r)) > 0 Then
ws1.Rows(r).Delete
End If
Next

’SheetB(wk)へ追加処理
maxrow1 = ws1.Cells(Rows.Count, 1).End(xlUp).Row + 1
maxrow2 = ws2.Cells(Rows.Count, 1).End(xlUp).Row

ws2.Select
Range(Cells(2, 1), Cells(maxrow2, 126)).Copy
ws1.Select
Range("A" & maxrow1).Select
ActiveSheet.Paste
Application.CutCopyMode = False

13 hits

【75995】別シートの値と比較し、削除、追加を行いたい MARUMO 14/8/17(日) 22:20 質問
【75996】Re:別シートの値と比較し、削除、追加を行... カエムワセト 14/8/17(日) 22:33 発言
【75997】Re:別シートの値と比較し、削除、追加を行... MARUMO 14/8/18(月) 9:30 発言
【75998】Re:別シートの値と比較し、削除、追加を行... kanabun 14/8/18(月) 9:40 発言
【75999】Re:別シートの値と比較し、削除、追加を行... MARUMO 14/8/18(月) 10:23 発言
【76000】Re:別シートの値と比較し、削除、追加を行... kanabun 14/8/18(月) 10:29 発言
【76001】Re:別シートの値と比較し、削除、追加を行... kanabun 14/8/18(月) 10:32 発言
【76002】Re:別シートの値と比較し、削除、追加を行... kanabun 14/8/18(月) 10:34 発言
【76005】Re:別シートの値と比較し、削除、追加を行... MARUMO 14/8/18(月) 11:28 発言
【76006】Re:別シートの値と比較し、削除、追加を行... kanabun 14/8/18(月) 11:55 発言
【76003】Re:別シートの値と比較し、削除、追加を行... kanabun 14/8/18(月) 10:49 発言
【76004】Re:別シートの値と比較し、削除、追加を行... kanabun 14/8/18(月) 11:02 発言
【76007】Re:別シートの値と比較し、削除、追加を行... MARUMO 14/8/18(月) 11:56 発言
【76008】Re:別シートの値と比較し、削除、追加を行... kanabun 14/8/18(月) 12:20 発言
【76009】Re:別シートの値と比較し、削除、追加を行... kanabun 14/8/18(月) 14:44 発言
【76010】Re:別シートの値と比較し、削除、追加を行... MARUMO 14/8/18(月) 15:11 発言
【76011】Re:別シートの値と比較し、削除、追加を行... MARUMO 14/8/18(月) 16:09 お礼
【76012】Re:別シートの値と比較し、削除、追加を行... kanabun 14/8/18(月) 18:59 発言
【76013】Re:別シートの値と比較し、削除、追加を行... MARUMO 14/8/18(月) 21:59 お礼

6325 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free