![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
図の上のような入力表があります。
下の表のようにマクロで行いたいです。
やりたいことは、
・A2、B2セルに月と日を入れるとC2に曜日を自動で入れる。
・D2~F2は手入力します。
・A列を範囲選択をして、Ctrl+dでA列の値をコピーします。
・Ctrl+Dと同時にB~E列は2行目の値を範囲選択した最終行までコピー。
・F列はF2の数字の連番を範囲内まで入れる。
Ctrl+Dでコピーする範囲はその時々で範囲は変わります。
F2の番号もその時々で変わります。
上記のことをCtrl+dキーでコピーした瞬間に行いたいです。
マクロのコードを教えていただけますか?
![「エクセルのマクロを教えてください」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/6/542328664_61fc5f7e0b149/M.jpg)
No.4ベストアンサー
- 回答日時:
こんにちは
>マクロのコードを教えていただけますか?
表組とやりたい事だけでは何を教えれば良いのかわかりません。
すべて?と言う事であれば回答される事は少ないです。(ご理解ください)
少々暇がありますので出来るところまで
マクロの実行(トリガー)は、実行タイミングが重要な要素になります。
>A2、B2セルに月と日を入れるとC2に曜日を自動で入れる。
これは対象のシートのセルに入力した時
>上記のことをCtrl+dキーでコピーした瞬間に行いたいです。
これは、ショートカットキーを押した時となります。
多くのショートカットキーは機能がすでに割り当てられており
マクロのトリガーを設定すると割り当てられている既存の機能は無効になります(対象のブックで)
もう一つ、プログラム内で書かれた範囲、対象などは限定的になるケースが多く、表組などを変更した場合、それに合わせてプログラムし直す必要があります。
十分な理解が必要で、分からない場合は学習する意欲も必要になります。
更にマクロで実行した結果は元に戻す事が出来ません。
仮にエラーなどが発生した場合でも、そのエラーが発生した時点まで処理、出力された内容を戻す事が出来ません。
サンプルを書きますが以上の点を留意してテストやコードを理解するようにしてください。
処理の書き方は色々あります。あくまで一例です。
>上記のことをCtrl+dキーでコピーした瞬間に行いたいです。
既存ショートカットにマクロを割り当てるのは、好まないので
Ctrl+Shift+D で説明します。
割り当て方法はいくつかありますが、自動記録を使う方法です。
マクロの記録を実施します。
初めのダイアログのショートカットキー設定部分で
Shiftキーを押しながらdキーを押下してOKを押下
どこか選択されていないセルを選択し、記録を終了します。
Altキー+F11キーでVBEを表示、標準モジュール内のモジュールに
Sub Macro1()
'
' Macro1 Macro
'
' Keyboard Shortcut: Ctrl+Shift+D
'
Range("A2").Select
End Sub
が記載されていると思います。(Macro1は対象ブックで初めて記録した時の場合)
上記を下記のように書き換えます
Sub Macro1()
'
' Macro1 Macro
'
' Keyboard Shortcut: Ctrl+Shift+D
'
Dim rng As Range
Set rng = Selection
With rng
.Resize(, 5).FillDown
.Item(1).Offset(, 5).AutoFill Destination:=rng.Offset(, 5), Type:=xlFillSeries
'.Item(1).Select
End With
End Sub
実行トリガーはCtrl+Shift+Dです
>A2、B2セルに月と日を入れるとC2に曜日を自動で入れる。
VBEの左にある(ない場合は表示)プロジェクトエクスプローラーで
対象シートオブジェクトをダブルクリックし表示されたカーソル位置に
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A2:B50")) Is Nothing Then
Application.EnableEvents = False
With Target
If IsNumeric(Cells(.Row, 1).Value) And IsNumeric(Cells(.Row, 2).Value) Then
Cells(.Row, 3).Value = _
WeekdayName(Weekday(DateSerial(Year(Date), Cells(.Row, 1).Value, Cells(.Row, 2).Value)), True)
End If
End With
Application.EnableEvents = True
End If
End Sub
ご質問の表組、表示の内容で範囲は50行迄としています
適時変更して参考としてください。
実行条件で縛りを設定していますが、エラー対策はありません。
No.3
- 回答日時:
全部は書けないのでサワリだけですが、
Private Sub Worksheet_Change(ByVal Target As Range)
Debug.Print Target.Address
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロを教えてください 2 2022/05/13 10:21
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
- Excel(エクセル) スプレッドシートのマクロで値の入力があるセルの範囲を指定する方法を教えて下さい 2 2022/04/05 17:29
- Excel(エクセル) エクセルのマクロを教えてください。 4 2022/10/06 08:53
- Visual Basic(VBA) 4月~3月まで12カ月横に並んだ表へ指定範囲を貼り付けたい。 Sheet2の指定範囲、Range(" 2 2022/11/30 16:37
- Visual Basic(VBA) A列の最終行に合わせて範囲をコピー 2 2022/09/04 19:10
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2023/03/12 12:16
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル マクロ写真帳に一括で...
-
【Excel】マクロでページを追加...
-
エクセル 図形の寸法を取得したい
-
セルに入力するたびにマクロを...
-
VBAで行コピーして挿入
-
VBAで保存しないで閉じると空の...
-
WPSOffice_マクロの有効化について
-
エクセル関数>参照ファイル名...
-
Excel マクロの編集がグレーに...
-
エクセル ボタンに設定したマク...
-
エクセルのvbaにて thisworkboo...
-
(Excel VBA)シートコピー時マ...
-
Ctrl+Zが使えない
-
マクロをマクロを使ってコピー...
-
エクセルで、「いいね」のよう...
-
エクセルの、記録を終了したマ...
-
LDPlayerのマクロの編集方法を...
-
エクセルの表を複数枚印刷した...
-
エクセル:マクロの保存先(I...
-
複数のExcelブックから特定シー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelでマクロ実行中に画面を固...
-
エクセルファイルを値でのみし...
-
エクセル連番自動印刷について
-
【Excel】マクロでページを追加...
-
VBA Shapes コピーと名前
-
エクセル マクロ写真帳に一括で...
-
セルに入力するたびにマクロを...
-
エクセルVBAで納期管理システム...
-
EXCEL VBA 他のアプリケーショ...
-
エクセル 図形の寸法を取得したい
-
VBAで行コピーして挿入
-
EXCEL 行番号や列番号が選択で...
-
ブックの共有でVBAエラー
-
エクセルのマクロについて教え...
-
【ExcelVBA】マクロブックを通...
-
エクセルファイルの回数期限の...
-
VB.NETによるEXCELの行挿入
-
グラフ要素のセルを参照したい...
-
再度,ExcelVBA,public変数が消える
-
VBAの記述について 値のみの貼...
おすすめ情報