アクティブセルにマクロを実行させたいのですがうまくいきません。
2007のエクセルを使用しています。
(1)命令文で指定しているセル(G9:G11)をJ9:J11やR14:R16等でも使用したい。
(2)また作成したマクロを同シート内オートシェイプに登録したい。
よろしくお願いいたします。
Sub Macro2()
'
' Macro2 Macro
'
'
Range("G9:G11").Select
Selection.ClearContents
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlTop
.Orientation = xlVertical
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
With Selection.Font
.Name = "MS P明朝"
.FontStyle = "標準"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 16777164
.TintAndShade = 0
.PatternTintAndShade = 0
End With
ActiveCell.FormulaR1C1 = "搬入"
With ActiveCell.Characters(Start:=1, Length:=2).Font
.Name = "MS P明朝"
.FontStyle = "標準"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
ActiveCell.Characters(1, 2).PhoneticCharacters = "ハンニュウ"
Range("G12").Select
End Sub
No.3ベストアンサー
- 回答日時:
セルをアクティブにした状態でマクロを実行したらそのセルの書式が変わるようにしたいのであれば
Range("G9:G11").Select
この部分をアクティブセルを基準とした指定に変更すればよい。
Range(ActiveCell, ActiveCell.Offset(2, 0)).Select
こんな感じかな?
この回答への補足
回答ありがとうございます。
貼り付けて実行したら思っていたとおりに動いてくれました。
ただ、最後のRange("G12")なのですが、
マクロを実行させたその下のセルに移動する様には出来ないでしょうか?
例えばこの命令文の中で1列3行のセルを結合させているのですが、
K14でマクロを実行した場合K17にセルが移動して終わる様な。
よろしくお願いいたします。
No.5
- 回答日時:
こんにちは
>(1)命令文で指定しているセル(G9:G11)をJ9:J11やR14:R16等でも使用したい。
ActiveCell を、G9 とか、J9 に指定して、マクロを実行すればよいです。
'標準モジュール
Sub Enter1()
With ActiveCell.Resize(3)
.ClearContents
.MergeCells = True
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Orientation = xlVertical
.Value = "搬入"
.Interior.Color = 16777164
End With
End Sub
>(2)また作成したマクロを同シート内オートシェイプに登録したい。
一般的にマクロは、コマンドボタンに登録します。
オートシェイプでも可能ですが、右クリックで、マクロに登録してください。
No.4
- 回答日時:
No.2
- 回答日時:
まず、Range("G9:G11").Select と書いているところを J9:J11の範囲に修正します。
このアクティブセルから 相対で座標が記述されている箇所は修正不要です。
最後の Range("G12").Select も、 J11 に修正した方が良いでしょう。
もし、3箇所とも続けて実行するのであれば、いちいち最後の Range("G12").Select は書かずとも良いでしょう。
No.1
- 回答日時:
同時に行いたい、ということでしょうか?
それとも、セル範囲を変えるにはどうすればいいのか?
ということでしょうか?
なお、シェイプで行うなら、
シェイプを右クリック
↓
マクロの登録
でマクロを選択してOK
で出来ます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/06/01 14:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) マクロを短くする 1 2023/01/15 00:11
- Excel(エクセル) エクセルマクロで教えてください 2 2022/05/04 09:07
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
Excelのシート上のShapeにイベ...
-
エクセルで複数のシートのクリ...
-
長い時間かかるマクロが実行中...
-
エクセルファイルを開いた回数...
-
Excelで数字を入れたら対応する...
-
【エクセル】「実行時エラー’10...
-
セルの一部分だけを太字にする方法
-
エクセル シート内の一番下のセ...
-
「マクロが含まれているファイ...
-
Excelでセル内の文字をファイル...
-
エクセル:セル内の文字列の最...
-
エクセルVBAで実行中画面を...
-
マクロ1があります。 A1のセル...
-
任意のセルに貼り付けをするマ...
-
エクセルで特定の行だけ行削除...
-
フォルダ内にある全ファイルの...
-
EXCELのダイアログシートって、...
-
記録したマクロを他のシートに...
-
Excelにて、同じ画像を複数のセ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のシートのクリ...
-
Excelで数字を入れたら対応する...
-
Excel VBAでのWorksheet_Change...
-
エクセルファイルを開いた回数...
-
Excelのシート上のShapeにイベ...
-
【エクセル】フリーワード検索...
-
【エクセル】「実行時エラー’10...
-
セルの一部分だけを太字にする方法
-
長い時間かかるマクロが実行中...
-
Excelでセル内の文字をファイル...
-
エクセルで特定の行だけ行削除...
-
エクセル シート内の一番下のセ...
-
エクセル:セル内の文字列の最...
-
EXCELのダイアログシートって、...
-
エクセルVBAで実行中画面を...
-
前月分を次月シートに繰越でき...
-
マクロ1があります。 A1のセル...
-
excel定数の違いについて。xlAu...
-
エクセルマクロでファイル名や...
-
エクセルのマクロ実行後にカー...
おすすめ情報