| 
    
     |  | 訂正です。 >▼foo さん:
 >こんばんは。
 >>最近VBAを始めた初心者です。以下のことが分から早速はまってしまいました。
 >>どなたかご教示ください。
 >>
 >>A、B、C、・・・・と複数のシートがあり「A」のシートで「表作成」というマクロを実行後、「B」、「C」と次々と同じマクロを実行させるには、どのようにすればよいのでしょうか。また、どのシートがアクティブでも自動的に1枚目のシートから実行させたいです。(尚、シート名とシート数は毎回違います)
 >>
 >>どうかよろしく御願いします。
 >考え方としては、あるシートに対しての「表作成」というプロシジャーを先に作成します。作成した「表作成」というプロシジャーのパラメータにシートオブジォクトを持たせるようにします。
 >後は、メインプロシジャーで最左端のシートからプロシジャー「表作成」を実行させます。
 >'========================================================
 >Sub main()
 >  Dim idx As Long
 >  With ThisWorkbook
 >   For idx = 1 To .Worksheets.Count
 Call 表作成(.Worksheets(idx)) ' 点忘れた
 >    Next idx
 >   End With
 >End Sub
 >'========================================================
 >Sub 表作成(sht As Worksheet)
 >  With sht.Range("B3:H25")
 >    .Borders(xlDiagonalDown).LineStyle = xlNone
 >    .Borders(xlDiagonalUp).LineStyle = xlNone
 >    With .Borders(xlEdgeLeft)
 >     .LineStyle = xlContinuous
 >     .Weight = xlThin
 >     .ColorIndex = xlAutomatic
 >     End With
 >    With .Borders(xlEdgeTop)
 >     .LineStyle = xlContinuous
 >     .Weight = xlThin
 >     .ColorIndex = xlAutomatic
 >     End With
 >    With .Borders(xlEdgeBottom)
 >     .LineStyle = xlContinuous
 >     .Weight = xlThin
 >     .ColorIndex = xlAutomatic
 >     End With
 >    With .Borders(xlEdgeRight)
 >     .LineStyle = xlContinuous
 >     .Weight = xlThin
 >     .ColorIndex = xlAutomatic
 >     End With
 >    With .Borders(xlInsideVertical)
 >     .LineStyle = xlContinuous
 >     .Weight = xlThin
 >     .ColorIndex = xlAutomatic
 >     End With
 >    With .Borders(xlInsideHorizontal)
 >     .LineStyle = xlContinuous
 >     .Weight = xlThin
 >     .ColorIndex = xlAutomatic
 >     End With
 >    With .Resize(1).Interior
 >     .ColorIndex = 6
 >     .Pattern = xlSolid
 >     End With
 >    End With
 >End Sub
 >
 >プロシジャー「表作成」の中のコードは一例なので、ここをfooさんのコードを書き直してください。
 
 
 |  |