
シート1のA1とA2に数値(任意)を入力します。
そして、シート1にあるボタン(決定ボタン的なものです。)を押すと、
シート2の
A1に”シート1のA1の数値”
A2に”シート1のA2の数値”
を記録し、シート1のA1とA2をクリアします。(数値を消去)
そして新たに、シート1のA1とA2に数値を入力し、
シート1のボタンを押すと
シート2のB1に”シート1のA1の数値”
シート2のB1に”シート1のA2の数値”
を記録といったように、横方向に自動で追加していきたいです。
※次はC1とC2です。
どなたかお分かりなられる方教えてください。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
時間の記録については、シート1のC4の欄に
=NOW()
と入力して、セルの書式設定で、表示形式を「時刻」の「13:30:55」等(質問者様のお好きな書式)に変えます。
その上で、先ほどのマクロの記述を下記のように書き換えます。
Sub Macro1()
Dim a1, a2
Dim time
Calculate
a1 = Range("C2").Value
a2 = Range("C3").Value
time = Range("C4")
Sheets("Sheet2").Select
Range("C5").Select
Do While ActiveCell <> ""
ActiveCell.Offset(0, 1).Range("A1").Select
Loop
ActiveCell = a1
ActiveCell.Offset(1, 0) = a2
ActiveCell.Offset(-1, 0) = time
Sheets("Sheet1").Select
Range("C2:C3").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("A1").Select
End Sub
先ほどの記述と変わった点がいくつかありますが、ひとつひとつについては説明しませんので、よく見てご確認ください。
これを実行すると、シート2のC4から右側にボタンを押した時刻が表示されますので、この部分のセル書式の表示設定も「時刻」の表示になるように変える必要があります。
No.4
- 回答日時:
#2です。
補足の要望を入れて下記では別にコマンドボタン2をつくり、そのイベントにしました。
Private Sub CommandButton2_Click()
Dim x As Variant
Dim sh2 As Worksheet
Set sh2 = Worksheets("Sheet2")
d = Worksheets("Sheet2").Range("C65536").End(xlUp).Row
x = Worksheets("Sheet1").Range("A1:A2")
Worksheets("Sheet2").Range(sh2.Cells(d + 1, "C"), sh2.Cells(d + 2, "C")) = x
Worksheets("Sheet2").Cells(d + 3, "C") = Time
Worksheets("Sheet1").Range("A1:A2") = ""
End Sub
No.2
- 回答日時:
Sheet1にコマンドボタンを1つ貼り付ける。
そのコマンドボタンのクリックイベントにPrivate Sub CommandButton1_Click()
Dim x As Variant
Dim sh2 As Worksheet
Set sh2 = Worksheets("Sheet2")
c = Worksheets("Sheet2").Range("IV1").End(xlToLeft).Column
x = Worksheets("Sheet1").Range("A1:A2")
Worksheets("Sheet2").Range(sh2.Cells(1, c + 1), sh2.Cells(2, c + 1)) = x 'Worksheets("Sheet1").Range("A1:A2")
Worksheets("Sheet1").Range("A1:A2") = ""
End Sub
コード行を少なくと心がけました。
ご回答有難うございます!
実際はシート1のA1がC2、A2がC3
シート2のA1がC5、A2がC6
なのですがどの部分を変更すればよろしいですか?
教えて頂ければ嬉しいです。
また、記録した時間(ボタンを押した時間)を
シート2のC4に自動で入力することもできますか?
よろしくお願いします。
No.1
- 回答日時:
マクロの実行の仕方等はわかりますか?
「ツール」→「マクロ」→「Visual Basic Evitor」を開きます。
「挿入」→「標準モジュール」を開き、下記マクロの記述をコピーして貼り付けます。
Sub Macro1()
Dim a1, a2
a1 = Range("A1").Value
a2 = Range("A2").Value
Sheets("Sheet2").Select
Range("A1").Select
Do While ActiveCell <> ""
ActiveCell.Offset(0, 1).Range("A1").Select
Loop
ActiveCell = a1
ActiveCell.Offset(1, 0) = a2
Sheets("Sheet1").Select
Range("A1:A2").Select
Application.CutCopyMode = False
Selection.ClearContents
range("A1").Select
End Sub
その後、エディタを閉じてエクセルの画面に戻り、「コントロールツールボックス」を開き、左側上から4番目の「コマンドボタン」を選んで好きなところに貼り付けます。
そのボタンをダブルクリックすると、エディタが開きますので、
Private Sub CommandButton1_Click()
Run ("Macro1")
End Sub
のように記述してエディタを閉じてください。あとはエクセルの画面にもどり、「コントロールツールボックス」内の「デザインモードの終了」を押し、先ほど作ったボタンを押せばマクロが実行されると思います。
ご回答有難うございます!
お陰さまで出来ました!
実際はシート1のA1がC2、A2がC3
シート2のA1がC5、A2がC6
なのですがどの部分を変更すればよろしいですか?
教えて頂ければ嬉しいです。
また、記録した時間(ボタンを押した時間)を
シート2のC4に自動で入力することもできますか?
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) 3つのエクセルをそれぞれのシートのセルに反映させたいときはどうしたらいいでしょうか? 例えば①シート 4 2023/04/25 20:13
- Visual Basic(VBA) 別ブックからシートのコピー 3 2022/04/01 20:07
- Excel(エクセル) 前の(左隣の)シートを連続参照するように、あとから変更したい 1 2023/02/22 00:51
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) エクセルのフッタやヘッダーについて 3 2023/02/04 09:45
- Excel(エクセル) エクセル VBA セルの結合 2 2022/09/07 11:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのVBAで集計をしたい
-
コマンドボタンがデザインモー...
-
VBAでシート毎に演算した項目を...
-
マクロを複数シートに実行する...
-
EXCELのエラー
-
【Excel VBA】シート見出しの色...
-
一回のループで次のオブジェク...
-
【マクロ】特定シートから値を...
-
マクロの変数定義エラー
-
Excelマクロ/選択したシートを...
-
エクセルのセル1の指定のセルの...
-
エクセルで出力時にページ数を...
-
EXCEL起動と同時にワークシート...
-
エクセルを開いたとき常に同じ...
-
VBA アクティブなセルのシート...
-
テキストボックスの名前
-
特定のシートをAuto_Openでアク...
-
複数シートの保護・解除
-
エクセル・・・・印字部数の任...
-
マクロ 全シートの指定範囲をコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
エクセルのVBAで集計をしたい
-
エクセルを開いたとき常に同じ...
-
マクロを複数シートに実行する...
-
【 Excel】シートの見出しに自...
-
Excelのマクロの呼び出し元を知...
-
EXCELでマクロを使わずに図形の...
-
マクロ 各シートの決められた位...
-
エクセルでシートの並び替えで...
-
EXCELのエラー
-
EXCELでワークシートを開いたら...
-
メッセージボックスでシート名...
-
マクロを特定の複数シートで実...
-
VBA シート名を先月の名前に...
-
マクロで複数シートに条件付き...
-
エクセルで、マクロボタンの表...
-
VBAで条件によってシート見出し...
-
【Excel】複数あるシート上の住...
-
エクセルVBAでcmbBoxのプロパテ...
-
エクセルのチェックボックス
おすすめ情報