各行(ヘッダーを除く)が単一のエントリを表し、各列がフィールド(かなり標準的なもの)であるワークシートがあります。フィールドは列BBに移動します。
特定のエントリ(特定の識別フィールドの特定の値に一致するエントリ)を別のシートにコピーしたい。ただし、元のシートにあるすべてのフィールドは必要ありません。元のシートに隣接していない約10個のフィールドだけが必要です。
したがって、(有効な)行ごとに、次のようなことを行います。
for each origRow in origSheet.Rows
if strcomp(origRow.cells(idCellNumber).value, myId, vbTextCompare) = 0 then
copySheet.Row(copySheetRowNumber).value = origRow.Range(Cells(1), Cells(8), Cells(15), Cells(4))
copySheetRowNumber++
end if
next
明らかに、このコードは無効です。さらに、シートには削除される既存のデータが含まれているため、エントリ全体をコピーしてから無関係な列を削除することはできません。誰かがこれを達成するための最速の方法を提案できますか?