- ベストアンサー
エセル2007を使っているのですが、月ごとにファイルを
エセル2007を使っているのですが、月ごとにファイルを 作っていて、その中では1日(月)~31日(日)というように 1日ごとにシート見出しをつけて各日のシートを作ってあります。 シート見出しに「(土)」と入ったシートだけを 選んで計算なりをすることはできますか? マクロを使う場合は、初心者なのでよろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>シート見出しに「(土)」と入ったシートだけを >選んで計算なりをすることはできますか? ↑ どのような方法で計算などをされたいのか わかりませんが とりあえず、同じ曜日のシートを全て選ぶのは以下の通りで出来るとおもいます。 Excel 2003の場合ですが メニューバーのツールからマクロ→Visual Basic Editer(V)を選択して、出てきたVisual Basic Editerの画面のメニューバーから「挿入(I)」→「標準モジュール(M)」をクリックして左の狭い窓の方に出てきた「Module1」をWクリックして右の大きな窓のOption Explicitの下に 下記のコードをコピー・貼付け して下さい。 まず、希望の曜日のシートをひとつだけ表示して、エクセル画面のメニューバーのツール→マクロ から マクロ→同じ曜日選択→実行 で 始めに表示していた曜日と同じ曜日のシートが全て選択されます。 ---------------------- Sub 同じ曜日選択() Dim 現シート曜 As String Dim 選択シート曜 As String Dim N As Integer 現シート曜 = Right(ActiveSheet.Name, 3) '現在アクティブなシート名の右から3文字を取り出す For N = 1 To Worksheets.Count 'シートの1番から最大数まで 繰り返す 選択シート曜 = Right(Worksheets(N).Name, 3) If 選択シート曜 = 現シート曜 Then '現在のシートの「曜」部分とシート(N)の「曜」が同じなら Worksheets(N).Select Replace:=False 'シート(N)を追加選択する End If Next N End Sub ----------------------
その他の回答 (1)
シート番号は下の例のように変数としてあつかうことができるようですよ。 下の例では第2シートを第4シートにコピーしています。参考になさってください。 Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2010/9/7 ユーザー名 : ' ' Dim shtno As Integer shtno = 2 Worksheets(shtno).Select Selection.Copy Sheets("Sheet4").Select ActiveSheet.Paste End Sub
お礼
遅くなって申し訳ありません。 ありがとうございました。
お礼
遅くなりましたが、貼っていただいてありがとうございます。 理解できるように勉強します。