2

わかりました、私はこれを約4時間調査しています。別の問題を作成するためだけに 1 つの問題を解決した別の同様の投稿がありました。このコードは、2 つのスプレッドシートから同じ列のデータを取得します。最初のコピー/貼り付けはうまく機能します (そして、行 A2:A191 を埋めます) が、その後の最初のループは、そのスプレッドシートから行 A1332 から始まるデータを貼り付けます?? A192:A1331 のセルはすべて空白です。コードは、下から上に向かって、最初に使用可能な空のセルを探す必要があります。私は何が欠けていますか?

これが問題のコードです。2 番目のループ スプレッドシートの範囲セルのロックが解除されたことを確認しましたが、その後、間違って貼り付けられますか? フォーマットは問題ではないようですか?私が見ていない細胞の中にあるかもしれない「何か」はありますか?

 Set wbkCS = Workbooks.Open(strCutSheetFile(i))
        On Error GoTo 0
        Set wbkVer = Workbooks.Open(strVerifyFile)
        Set copyRng = Worksheets("Cutsheets").Range("A2")
    If copyRng = "" Then
            wbkCS.Worksheets("Cut Sheet").Range("S4:S2000").Locked = False
            wbkCS.Worksheets("Cut Sheet").Range("S4:S2000").Copy Destination:=wbkVer.Worksheets("Cutsheets").Range("A2")
    Else
            wbkCS.Worksheets("Cut Sheet").Range("S4:S2000").Locked = False
            wbkCS.Worksheets("Cut Sheet").Range("S4:S2000").Copy Destination:=wbkVer.Worksheets("Cutsheets").Range("A" & Range("A65536").End(xlUp).Row + 1)
     End If
4

1 に答える 1

2

2 番目のコピー ステートメントで最後の範囲参照を修飾してみてください。

それ以外の

    .Range("A" & Range("A65536").End(xlUp).Row + 1)

試す

    .Range("A" & wbkVer.Worksheets("Cutsheets").Range("A65536").End(xlUp).Row + 1)
于 2012-12-23T07:09:17.933 に答える