EXCELのマクロ記録で作製したマクロが自動記録した通りに作動しません。どうすれば良いでしょうか?

健司 塩崎 0 評価のポイント
2024-08-01T09:51:00.0033333+00:00

記録した書きマクロ、記録作業時は正常なのですが、記録したマクロを実行するとシート01にしか実行されません。

シート01~10は全て同じ形式の表で、データが異なる物です。

Sub Macro267()

'

' Macro267 Macro

'

'

Sheets(Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10")).Select

Sheets("01").Activate

Range("D9:G9").Select

Selection.Copy

Range("H9").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

    :=False, Transpose:=False

Application.CutCopyMode = False

Selection.Copy

Range("H13").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

    :=False, Transpose:=False

Range("J9:K9").Select

Application.CutCopyMode = False

Selection.Copy

Range("O13:P13").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

    :=False, Transpose:=False

Range("B14:G113").Select

Application.CutCopyMode = False

Selection.ClearContents

ActiveWindow.SmallScroll Down:=-74

Range("I14:I113").Select

Selection.ClearContents

Range("K14:L113").Select

Range("K113").Activate

Selection.ClearContents

Range("Q14:R113").Select

Selection.ClearContents

Range("H9:K9").Select

Selection.ClearContents
```End Sub
Office
Office
ワープロ、電子メール、プレゼンテーション、データ管理と分析など、一般的なビジネス タスクをサポートする一連の Microsoft 生産性ソフトウェア。
99 件の質問
Visual Basic for Applications
Visual Basic for Applications
Microsoft 製品に組み込まれている Visual Basic の実装。
21 件の質問
{count} 件の投票

1 件の回答

並べ替え方法: 最も役に立つ
  1. gekka 10,561 評価のポイント MVP
    2024-08-02T03:51:52.77+00:00

    どうなって欲しいのかが書かれていないとわかりません。

    Sub Test()
        Dim i As Integer
        Dim sheetName As String
        Dim sh As Worksheet
    
        Dim shs As New Collection
     
        For i = 1 To 2
            sheetName = Format(i, "00")
            Set sh = ThisWorkbook.Worksheets(sheetName)
            Call shs.Add(sh)
        Next
       
        For Each sh In shs
            sh.Range("H9:K9").Value = sh.Range("D9:G9").Value
            sh.Range("O13:P13").Value = sh.Range("J9:K9").Value
        Next
           
        For Each sh In shs
            sh.Range("B14:G113 , I14:I113 , K14:L113 , Q14:R113 , H9:K9").ClearContents
            
            'sh.Range("B14:G113").ClearContents
            'sh.Range("I14:I113").ClearContents
            'sh.Range("K14:L113").ClearContents
            'sh.Range("Q14:R113").ClearContents
            'sh.Range("H9:K9").ClearContents
        Next
        
    End Sub
    

お客様の回答

回答は、質問作成者が [承諾された回答] としてマークできます。これは、ユーザーが回答が作成者の問題を解決したことを知るのに役立ちます。