No.1
- 回答日時:
マクロを作ってみました。
各シートの行タイトル部分は同じ行(下では3から7行目)としています。それにシート名は連番とし、4シート(wsNum=4)で作っています。質問の答えになっていればいいですが。
各シートに名前がついている場合、シート毎に行タイトル部分が違っていても応用すれば対応できると思います。
Sub HeaderSet()
Dim ws As Worksheet 'ワークシート
Dim wsCot As Integer 'ワークシートカウンタ
Dim wsNum As Integer 'ワークシート数
wsNum = 4 '4シートにしています
'
For wsCot = 1 To wsNum
'シー名は連番を想定しています。
Set ws = Worksheets("Sheet" & wsCot)
ws.Activate
'全てのシートに同じ行を設定
ActiveSheet.PageSetup.PrintTitleRows = "$3:$7"
Next
End Sub
お返事本当に、ありがとうございました。
実は、マクロを組むと言うこと、言語まで、よくわかっていなかったので、お礼が遅くなってしまいました。
一応、シート名が、すべて、違うので、シート名を できれば、1から30の数字に、一旦変換するマクロを組み込んでから、やってみようと思ってます。
もしも、できれば、そのプログラムも、教えていただけると ありがたいのですが。。。。
今一応、勉強してみては、いるのですが。。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
前回「シー名は連番を想定しています。
」としてしまったのがまずかったようで、視点がシート名にいってしまったようですね。 For Next の方が分かり易いと考えましたが、シート名はユーザが自由に付けるべきで、モジュール側が連番を強いるべきではなかったと反省しています。ユーザが意味を持って付けたシート名を意味不明な連番に変えてしまうのは危険と思いますので、シート名を変えるマクロは作成辞退させてください。
代わりに、シート名がどのように付けてあっても共通行範囲をタイトル行にするマクロを作りましたので参考にして下さい。
※31シート目以降にタイトル行を付けたくないシートがあるのではないかと想像したのも For Next を使った理由でした。
※行タイトルを設定したくないシートがあれば 'If ws.Name = "*****1" の箇所にそのシート名を入れて「'」をはずして下さい。
Sub HeaderSet2()
Dim ws As Worksheet 'ワークシート
Dim TaitolSetFLG As Boolean '行タイトルセットの可否
'全てのシートに同じ行を設定
For Each ws In Worksheets
TaitolSetFLG = True
'If ws.Name = "*****1" Then TaitolSetFLG = False
'If ws.Name = "*****2" Then TaitolSetFLG = False
'If ws.Name = "*****3" Then TaitolSetFLG = False
If TaitolSetFLG = True Then
ws.Activate
ActiveSheet.PageSetup.PrintTitleRows = "$3:$7"
End If
Next
End Sub
本当に、いろいろと 親切に、どうもありがとうございます!
幸い、30行は、全て、タイトルを入れることになっているのですが、もしも、入れては、いけない時は、ぜひ、’If・・・・で、やってみます。
おかげさまで、やってみて、出来た時の感動は、とっても、すごかったです!
ごちゃごちゃの毛糸が、一つの線になった感じです!
私も、勉強しなきゃって、思ってます。もしも、良いVBAの参考書が あったら、ぜひ、教えてくださいませんか?
お忙しいとは思うのに、早い回答の方、本当に、ありがとうございました。
No.4
- 回答日時:
>私も、勉強しなきゃって、思ってます。
もしも、良いVBAの参考書が あったら、ぜひ、教えてくださいませんか?参考書を何冊も買ったことが無いので比較はできませんが、今はVBAの参考書もたくさんあるので、ご自分でわかり易いと思われた本がいいのではないでしょうか。パラパラ見る限り、どの本も余り変わりませんし。
私は、最初に買ったのがエーアイ出版のExcel95VBAのすべて。今はExcel2000でしょうか。よく使ったのが主婦の友社の逆引きExcel97/98VBA編。通勤電車内で読んだのが技術評論社のVBAプログラミング500の技でした。(これは少し毛色が違っていました) 逆引き・・・も重宝しましたが、いまはもっぱらヘルプを利用しています。
要は、基本を身に付け、数をこなすことではないでしょか。分からないときはOKWEBを使いながら (^U^)
また、多人数で使うものを作るため、自分なりにVBAを扱うときに心がけている点があります。
○ユーザにやさしい
・入力が簡単にできる
・余分な判断を不要にする
・入力に対してチェックを行い、原因と対処方法を表示する
このため入力にはユーザーフォームを使うことが多い
○処理手順を明確にする
・人が行う手順を基本とする
・簡明な処理手順を作る
・余りに複雑になった処理は見直す
○入力、処理、出力でシートを分ける
・処理を簡明にするためにシートの機能を分離する
・エラーの復旧、仕様の変更に迅速に対応するため
○定数値、直接セル番地を使用しない
・モジュール内に変更の可能性がある定数値を置かない。一括して定義しておく。
・モジュール内に直接セル番地を使用しないで範囲名を使用する
・キー記録の使用は必要最低限にする
○妥協しないで手作業をなくす。
○人が手作業でできることは何でもプログラム化できると思って取りかかる。不可能を証明することは作るより難しい。作ったほうが速い。
こんなことを心がけて作っています。ご参考に。
これからもがんばって下さい。
本当に、いろいろと、ありがとうございます!
とても、参考になりました。
いろいろと参考にさせていただいて、頑張ろうと思ってます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) エクセルでファイル保存時に複数シートのオートフィルタを全て解除したい 1 2023/05/10 13:23
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Excel(エクセル) 【Excel】複数シートがあるエクセルデータで片面印刷と両面印刷設定がシートごとに入 1 2023/03/10 15:25
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) エクセルのフッタやヘッダーについて 3 2023/02/04 09:45
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Excel(エクセル) 【条件付き書式】countifsで複数条件を満たしたセルを赤くする方法 2 2023/02/09 23:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
別シート参照のセルをシート毎...
-
エクセルで前のシートを連続参...
-
VBAでシートコピー後、シート名...
-
シートの保護のあとセルの列、...
-
エクセルで前シートを参照して...
-
EXCELで1ヶ月分の連続した日付...
-
前の(左隣の)シートを連続参...
-
Accessのスプレッドシートエク...
-
エクセルでファイルを開いたと...
-
エクセルでシート名を自動入力...
-
Excel、同じフォルダ内のExcel...
-
【Excel関数】値が合致するセル...
-
EXCELで同一フォーマットのシー...
-
至急お願いします。エクセルシ...
-
Excelの複数ファイルの複数行を...
-
複数シートの固定のセルの値を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
エクセルVBAでパスの¥マークに...
-
前の(左隣の)シートを連続参...
-
Excelで金銭出納帳。繰越残高を...
-
EXCEL:同じセルへどんどん足し...
-
EXCELで1ヶ月分の連続した日付...
-
シートの保護のあとセルの列、...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
EXCELで同一フォーマットのシー...
-
エクセルで前のシートを連続参...
-
エクセルで前シートを参照して...
-
VBAでシートコピー後、シート名...
-
Accessのスプレッドシートエク...
-
エクセルのシート名をリスト化...
-
複数シートの特定の位置に連番...
-
Excelのシートを、まとめて表示...
-
エクセル 計算式も入っていない...
-
スプレッドシートの関数VLOOKUP...
おすすめ情報