![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
excel2013で、シートのレイアウトを整えるマクロを以下のように作成しました。
しかし、いざ他のシートで試すと、そのシートと同時に特定のシートにもなぜかマクロが実行されてしまいます。(恐らく作ったときに使っていたシート)
どうしたら今見ているシートだけにマクロを実行することができるでしょうか?
ActiveWindow.Zoom = 85
ActiveWindow.Zoom = 70
Columns("A:A").ColumnWidth = 10.13
Columns("A:A").ColumnWidth = 10.63
Columns("B:B").ColumnWidth = 6.63
Columns("D:D").ColumnWidth = 20
Columns("D:D").ColumnWidth = 23.75
Columns("D:D").ColumnWidth = 24.63
Columns("E:E").ColumnWidth = 10.38
Range("E1").Select
ActiveCell.FormulaR1C1 = "インボイス金額"
ActiveCell.Characters(7, 2).PhoneticCharacters = "キンガク"
Columns("F:F").Select
Selection.Delete Shift:=xlToLeft
Columns("G:G").Select
Selection.Delete Shift:=xlToLeft
Range("H9").Select
Columns("G:G").ColumnWidth = 11.38
Columns("I:K").Select
Selection.Delete Shift:=xlToLeft
Range("J9").Select
Columns("I:I").ColumnWidth = 15
Columns("J:J").ColumnWidth = 9.75
Columns("K:K").ColumnWidth = 9.5
Range("L2").Select
Columns("L:L").ColumnWidth = 5.5
Columns("O:O").Select
Selection.Delete Shift:=xlToLeft
Selection.ColumnWidth = 13.88
Columns("P:P").Select
Selection.Delete Shift:=xlToLeft
Selection.ColumnWidth = 12.13
Selection.ColumnWidth = 13.25
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 12
Columns("Q:Q").Select
Selection.ColumnWidth = 5.5
Columns("S:S").Select
Selection.ColumnWidth = 6.75
Columns("T:T").ColumnWidth = 9.75
Columns("Q:T").Select
Range("T1").Activate
Selection.Style = "Comma [0]"
Columns("U:U").Select
Columns("V:V").ColumnWidth = 5.5
Columns("V:V").ColumnWidth = 6
Columns("W:Z").Select
Selection.Delete Shift:=xlToLeft
Columns("X:Z").Select
Selection.Delete Shift:=xlToLeft
Range("X10").Select
Columns("X:X").ColumnWidth = 12.25
Columns("X:X").ColumnWidth = 11.13
Columns("Y:Y").ColumnWidth = 6.75
Columns("Z:Z").ColumnWidth = 11.63
Columns("AA:AA").ColumnWidth = 6.75
Columns("AB:AB").Select
Selection.Delete Shift:=xlToLeft
Range("AB2").Select
Columns("AB:AB").ColumnWidth = 11
Columns("AD:AO").Select
Selection.Delete Shift:=xlToLeft
Range("AF14").Select
Columns("AD:AD").ColumnWidth = 11
Columns("AE:AE").Select
Selection.Delete Shift:=xlToLeft
Range("AG7").Select
Columns("AE:AE").ColumnWidth = 20.38
Columns("AF:AJ").Select
Selection.Delete Shift:=xlToLeft
ActiveWindow.ScrollColumn = 21
ActiveWindow.ScrollColumn = 1
Rows("2:2").Select
ActiveWindow.FreezePanes = True
Range("A2").Select
ActiveWorkbook.Worksheets("11").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("11").Sort.SortFields.Add Key:=Range("D2:D137"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("11").Sort.SortFields.Add Key:=Range("A2:A137"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("11").Sort
.SetRange Range("A1:AE137")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.Apply
End With
End Sub
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
こんばんは。
まず、VBAやマクロの基本的なことから学習せずに、いきなり記録マクロを試そうとして、うまくいかないと思います。あえていうなら、「そのシート」を、Select していないということですね。
Workbook("マイブック").Activate
Worksheets("11").Select
のようにして、記録マクロを貼り付ければ、まともに動くかもしれませんね。
>(恐らく作ったときに使っていたシート)
もしかして、他のブックからの呼び出し?
もう少し洗練されたコードのほうがよいのですが、「個人用マクロブック」に入れたほうが、呼び出しなら楽かな?本格的には、もっと違うマクロになるけれども、基礎的な知識がない場合は、それぐらいしか手立てがありませんね。あくまでも、「標準モジュール」に入れます。
#1の方の
>これは「故意に指定している」のですよね?
それも、そうですね。ということは、違うシートで作業して、ActiveWorkbook.Worksheets("11")に移ったのかな?
こんばんは、お礼が遅くなり、大変申し訳ありません。
ご丁寧にお教えくださってありがとうございました!参考にさせていただくと同時にVBAの基礎から勉強して再度挑みたいと思います。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロで 1 2022/04/09 06:44
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) excelVBAについて。 4 2022/11/21 16:15
- Excel(エクセル) ExcelVBAについて。 2 2022/12/10 20:08
- Visual Basic(VBA) excelVBAについて。 1 2022/11/30 06:16
- Excel(エクセル) excelVBAについて。 8 2022/12/11 13:47
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Access(アクセス) エクセルのマクロについて教えてください。 2 2023/02/04 14:20
- Excel(エクセル) エクセルのVBAにショートカットキーの割り当て 3 2022/07/13 14:19
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで複数のシートのクリ...
-
Excelで数字を入れたら対応する...
-
エクセルファイルを開いた回数...
-
Excel VBAでのWorksheet_Change...
-
長い時間かかるマクロが実行中...
-
Excelのシート上のShapeにイベ...
-
エクセル シート内の一番下のセ...
-
エクセルで特定の行だけ行削除...
-
前月分を次月シートに繰越でき...
-
シートの保護でデータ追加が出...
-
【エクセル】「実行時エラー’10...
-
エクセルVBAで実行中画面を...
-
セルの一部分だけを太字にする方法
-
「元に戻す」キーが働かない
-
Excelでセル内の文字をファイル...
-
3つのマクロを連続実行の中で...
-
任意のセルに貼り付けをするマ...
-
エクセルのワークシート(テン...
-
Excel2003VBAご教示ください。
-
【エクセル】フリーワード検索...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
Excelで数字を入れたら対応する...
-
エクセルで複数のシートのクリ...
-
エクセルファイルを開いた回数...
-
フォルダ内にある全ファイルの...
-
Excelのシート上のShapeにイベ...
-
エクセル シート内の一番下のセ...
-
長い時間かかるマクロが実行中...
-
セルの一部分だけを太字にする方法
-
【エクセル】フリーワード検索...
-
エクセルで特定の行だけ行削除...
-
エクセル:セル内の文字列の最...
-
EXCELのダイアログシートって、...
-
【エクセル】「実行時エラー’10...
-
Excelでセル内の文字をファイル...
-
エクセルで○をつけるマクロ設定
-
エクセル マクロ 一定時間おき...
-
前月分を次月シートに繰越でき...
-
エクセルのワークシート(テン...
-
自分の専門分野の仕事。初見で...
おすすめ情報