昨日私は以下について援助を求めました:
- 新しいワークブック、ワークブック'B'を作成するVBAマクロから
- ワークブック「A」からワークブック「B」へのデータの行のコピー
- ブック「B」を閉じる前に適切な形式で保存する
昨日の投稿(VBA-Excelの行をあるブックから別のブックにコピーする方法は?)は、私の問題に対する確実な解決策を示しました。
それ以来、私は自分のコードをさらに進歩させ、新しい要件を持っています。ワークブック「A」sheet1のセルAiの値がワークブック「B」sheet1のセルAiの値と一致するかどうかに応じて、ワークブック「B」からコピーされた行を削除するコードのセクションが必要になります(iはインクリメントされる整数変数)。このコードは、行にコピーされたコードのセクションのかなり後に実行され、その後、プライマリ行が新しい情報で更新されたため、これが少し逆に見える場合があります。
私が以下に持っているものはあなたに私が持っているもののアイデアを与えるはずです:
...
Do Until IsEmpty(newBk.Sheets("Bad Records").Range("A" & extFileRowCount))
If newBk.Sheets("Bad Records").Range("A" & extFileRowCount) = _
mainBk.Range("W" & sdRow).Value Then
'then delete the row and reinsert
'***** Stuck here. How do I remove the row? *****'
newBk.Sheets("Bad Records").Range _
("A" & extFileRowCount).remove '???
newRowCount = newRowCount + 1
mainBk.Rows(sdRow).Copy newBk.Sheets _
("Bad Records").Rows(newRowCount)
Else
extFileRowCount = extFileRowCount + 1
Loop
...
アルゴリズムは正しいと思いますが、行を削除する方法に固執しています。どんな助けでも大歓迎です。
QF