レポートをフォーマットし、重要な値をブランクシートにコピーしようとしています。マスター参照リストに基づいて1つのシートから別のシートにコンテンツをコピーするVBA
重要な情報を判断するために参照のマスターリストを使用しています。各項目のユニークな参照は、B列の「マスターリスト」というシートに保存されています。このリストをスキャンし、「生データ」シートで一致するものが見つかるかどうかを確認し、 "レポート"シート。
私が試したのは最初の書式設定で問題はありませんが、最初のWhileコマンドにヒットしたときに失敗します。私はこれを行うためのいくつかの異なる方法を試してきました、そして、私はそれを動作させるように見えません。レイア姫の言葉では、あなたが事前に
Dim RD As Worksheet, Report As Worksheet, Masterlist As Worksheet
Dim LSearchRow As Integer
Dim LCopytoRow As Integer
Dim rngFound As Range
Dim SearchItem As String
Set RD = Sheets("Raw Data")
Set Report = Sheets("Report")
Set Masterlist = Sheets("Master List")
LCopytoRow = 1
LSearchRow = 1
RD.Select
Columns("A:A").Select
Selection.Delete Shift:=xlToLeft
Columns("B:D").Select
Selection.Delete Shift:=xlToLeft
Columns("D:Q").Select
Selection.Delete Shift:=xlToLeft
Columns("E:I").Select
Selection.Delete Shift:=xlToLeft
Columns("C:C").Select
Selection.ClearContents
While Len(Range("A" * CStr(LSearchRow)).Value) > 0
SearchItem = Masterlist.Range("B" & k).End(xlUp).Row
If Range("A" & CStr(LSearchRow)).Value = Masterlist.Range("B" & CStr(LSearchRow)).Value Then
Rows(CStr(LSearchRow) & ":" & CStr(LSearchRow)).Select
Selection.Cut
Report.Select
Rows(CStr(LCopytoRow) & ":" & CStr(LCopytoRow)).Select
ActiveSheet.Paste
LCopytoRow = LCopytoRow + 1
RD.Select
End If
LSearchRow = LSearchRow + 1
Wend
おかげで私の唯一の希望だスタックオーバーフロー私を助けて!
それは 'MasterList.Range(「B」&K)'で見ているので、あなたは 'K 'を定義したことがないためです'k' =' 0'で、セルB0が存在しないのでエラーが発生しています。 – tigeravatar
ああ、もともと私はそれを定義していましたが、構造化された方法を変えました!私は今それを変更し、それが役立つかどうかを見ます!ありがとうございました! – Chris
しかし 'SearchItem'は意味がありません。(' Masterlist.Rows.Count'で 'k 'を置き換えると、常に同じSearchitemで終わるでしょうが、それは問題ではありませんもう一度 'SearchItem'を参照していないので、単にその行を削除してしまいます。 – tigeravatar