|
訂正です。
>▼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さんのコードを書き直してください。
|
|