1

非常に単純ですが一見解決できない問題があります。ある範囲のデータをワークシートから別のワークシートにコピーしたいと考えています。

これは私が作ったものです:

Sub CopyProjectData
Worksheets("Projects").Range(Cells(1001, 1), cells(1002,1).Value = Worksheets("Road").Range(Cells(4, 1), Cells(5, 1)).Value
End Sub

(将来的にはダイナミックレンジを使用したいので、範囲で Cells(...) を使用しました)

ただし、構文をどのように変更しようとしても、気の毒なことは私に言い続けます:

「ワークシートは非表示のためジャンプできません」

私は何を間違っていますか?

よろしく、 ゾルト

4

3 に答える 3

0

このようなことを試してみたらどうですか。

Sub CopyRange()
    Sheets("Projects").Select
    Range(Range("A13").Value + ":" + Range("B13").Value).Select
    Selection.Copy
    Sheets("Road").Select
    Range("B3").Select
    ActiveSheet.Paste
End Sub

A13 の値には、範囲の左上のセルの位置が含まれます。

B13 の値には、範囲の右下のセルの位置が含まれます。

範囲 (B3) は、コピーされたデータの宛先の左上隅です。

于 2013-08-15T14:09:35.733 に答える
0

そのエラーのMSDN ページは次のとおりです。なぜあなたがそれを手に入れているのか、私には考えられません。

閉じ括弧が欠落していることに気付きました。そして、コードを変更するまで、不特定のアプリケーション エラーが発生しました。

また、あなたのコードは完全に修飾されていません。たとえば、どれが入っているか、どれが入ってWorkbookいるWorksheetsかを指定していません。他に何もなければ、デバッグが簡単になるはずです:SheetCells

Sub CopyProjectData()
Dim cellFrom As Excel.Range
Dim cellTo As Excel.Range

With ThisWorkbook.Worksheets("Road")
    Set cellFrom = .Range(.Cells(4, 1), .Cells(5, 1))
End With
With ThisWorkbook.Worksheets("Projects")
    Set cellTo = .Range(.Cells(1001, 1), .Cells(1002, 1))
End With
cellTo.Value = cellFrom.Value
End Sub
于 2013-08-15T14:10:12.597 に答える
0

場合によっては、ワークシートを保護する必要があります。[レビュー] タブで保護されているかどうかを確認します。Review Label の下に Unprotect Sheet と表示されている場合は、コードにコマンドを追加して保護を解除し、最後にもう一度保護する必要があります。

すなわち。

ActiveSheet.Unprotect

INSERT CODE HERE FOR YOUR WORKSHEET

Active Sheet.Protect  
于 2014-11-11T16:25:00.887 に答える