0

あるワークシートから別のワークシートにコンテンツをコピーして貼り付けることができないようです - 理由がわからない実行時エラーが発生します...教えてください..

コードは次のとおりです。

Dim cell As String

 For i = 2 To cat_lastRow
    Sheets("Sheet1").Select
    cell = ActiveSheet.Cells(i, cat_col).Value
    Sheets("skeleton").Range("A1:S21").Copy

    If Not worksheetExists(cell) Then
        ActiveWorkbook.Sheets.Add.Name = cell
    Else
        Sheets(cell).Cells.Clear
    End If

    Sheets(cell).Paste
    ...

 Next i

Shees(cells).Paste までコードを調べます。

実際、あるワークシートから別のワークシートにすべてのアイテムをコピーするにはどうすればよいですか。その名前のワークシートが存在する場合は、それをクリアしてから、内容を最初から貼り付けます。

前もって感謝します...

4

2 に答える 2

0

...テストされていませんが、他のアクションはおそらく選択を失います。.Copy-line を .Paste-line の直前に配置してから、開始セルを好きなように、Sheets(cell).Range("A1").Pasteまたはむしろ直接 指定してみてください

Sheets("skeleton").Range("A1:S21").Copy Sheets(cell).Range("A1")
于 2013-04-22T21:38:11.753 に答える
0

あなたの質問を含めて、ワークシート全体をコピーしてください。最初にセルをクリアするのではなく、シート全体をコピーして新しいシートに貼り付けることができます。または、シートが存在する場合は削除してから、必要なシートをコピーして名前を変更することもできます。

Dim cell As String

For i = 2 To cat_lastRow
    Sheets("Sheet1").Select
    cell = ActiveSheet.Cells(i, 1).Value

    ' Turn off alert that you are deleting sheet
    Application.DisplayAlerts False
    ' Resume next on error if the sheet does not already exist
    On Error Resume Next
    Sheets(cell).Delete
    ' Rest your error handle
    On Error GoTo 0
    Sheets("skeleton").Copy after:=Sheets("Sheet3")
    ActiveSheet.Name = cell
 Next i

コードの最後に Application.DisplayAlerts True を配置してください。シートを削除したら、on エラーも変更する必要がある場合があります。

于 2013-04-22T21:49:49.267 に答える