
エクセルのボタンにマクロを割り当てました。
ボタンの1回目のクリック、2回目のクリックと行うとします。
その時1回目のクリックの時にはこの動作、
2回目のクリックの時にはこの動作と、
押すたびに動作を変えていくとこは可能でしょうか?
着信と言うボタンを作っておいて、クリックのたびにセルを移動して、
now()関数で、着信時間を記録しておきたいのです。
ボタンを幾つも分けてしまうと、大変なことになってしまうので、
Caseで分岐をしたいと思いました。
対象のセルが、空白ではない判断はどの様に記述するのでしょうか?
その後、次の処理に対して何をすればよいのでしょうか?
Caseの基本的な使い方と、空白セルの判別方法を教えてください。
Private Sub CommandButton1_Click()
'
' Macro1 Macro
' マクロ記録日 : 2008/6/20 ユーザー名 :
'
'
Range("B2").Select
' Select Case 1
' Case Is = FormulaR1C1 = "false"
ActiveCell.FormulaR1C1 = "=NOW()"
' Case Else
' FormulaR1C2 = "=NOW()"
' End Select
End Sub
これで、時間だけはクリックすると表示されます。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
Range("B65536").End(xlUp).Offset(1, 0).Value = Now
一応、ご説明しておきます
Range("B65536"). B列の最終の行から
End(xlUp). 空白でないセルまで上に上がって
Offset(1, 0).Value そのひとつ上のセルに Now
横方向であれば
Range("IV2").End(xlToLeft).Offset(0, 1).Value = Now
2行目の際右列から、空白でないセルまで左に移動して、
右へひとつのセルに Now
No.2
- 回答日時:
Select Case文の使い方を根本的に間違っています。
Select Case 式(もしくは変数)
Case 式の結果1(もしくは変数の値1)
Case 式の結果2(もしくは変数の値2)
Case Else 上記以外の場合
End Select
というような書き方になります。
通常、今回のようにRange("B2")が空白か?といった二者択一の場合はSelectではなくIf文による分岐を行う方が多いと思うのですが、あえてSelectでやるとすると
Range("B2").Select
Select Case Selection.Value
Case ""
B2が未入力のときの処理
Case Else
B2が入力済みのときの処理
End Select
という風になります。
これをIf文にするなら
Range("B2").Select
if Selection.Value = "" Then
B2が未入力のときの処理
Else
B2が入力済みのときの処理
End If
ちなみに空白といわれるとスペースと勘違いすることもあるので、セルが空とか未入力とかの言い方のほうがいい思います。
セルが空(未入力)かは
If Range("B2") = "" Then とか If IsEmpty(Range("B2")) Then
などで判断します。
成るほど、nullとか入れるのかと思いました。
非常に具体的で助かります。
空白?では無く空ですねの判定とかってどんなところで調べるのかも判らなかったので助かりました。
本当は1からコツコツと積み上げて、やっていった方がいいのですが、不精なので行き成り応用を見て、その時々の使い方を覚えておき見たいなことをするので、邪道なので答えてもらえる人が少ないのではと思ったのですが、お答え頂き感謝しております。
No.1
- 回答日時:
ひょっとして、やりたいことは
Sub sampl()
Range("B65536").End(xlUp).Offset(1, 0).Value = Now
End Sub
この回答への補足
すごい!縦にですけど動きました!こんな簡単にまとめる何てすごい応用ですね。
Masa2072には、質問内容からCase、Ifの初級のご説明を、halloさんからは、
一発実現を教わりました。
お二人とも大変有難う御座いましたM(__)M
何を書いてあるかわからないのですが、今後の勉強の参考にしたいと思います。またそのまま使って動くか試してみます。有難う御座います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaでセルに入力したときに,その横にあるセルを保護し入力不可にするマクロを作りたいです。 2 2022/04/24 20:59
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) Excelのマクロについて教えてください。 3 2022/06/30 09:36
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Excel(エクセル) エクセルVBA Msgboxでの変数の活用 4 2023/07/23 08:33
- Visual Basic(VBA) VBA 複数のブックに同じ列を表示させる方法 2 2022/07/20 23:49
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAでセルをクリックする回数で表示が変わる
その他(プログラミング・Web制作)
-
VBAコマンドボタンを押すたびに、データ取得させたい。
Visual Basic(VBA)
-
エクセル ボタンを押すとセルの色が変わるようにしたい
Excel(エクセル)
-
-
4
Excelでセルをクリックするたびに表示を切り替えるには?
Excel(エクセル)
-
5
Excelのマクロでボタンを押すと数が1足されるようにするには?
IT・エンジニアリング
-
6
複数のマクロボタンをまとめて一つのマクロボタンにするということ。
Excel(エクセル)
-
7
エクセルマクロ セルをクリックするたびに記号を入力
Excel(エクセル)
-
8
【マクロ】ボタンを押すごとに、A1セル、A2セル、A3セルに日付を入力
Excel(エクセル)
-
9
Excelシート上でボタン1つで交互に保護と解除を設定
Excel(エクセル)
-
10
VBAで多数のプログラムを一つのボタンに集約することは可能でしょうか?
Visual Basic(VBA)
-
11
【VBA】クリックする毎にセル色が変わる
Excel(エクセル)
-
12
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
13
エクセルVBAで、ボタンの文字を変えたい
Excel(エクセル)
-
14
【マクロ】マクロボタンをクリックしたら、セルに OK と表示される
Excel(エクセル)
-
15
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
16
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
17
[EXCEL]ボタン押す→時刻が表に入る方法
Excel(エクセル)
-
18
クリックすると文章が表示されるシステム
Excel(エクセル)
-
19
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
20
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【画像あり】オートフィルター...
-
IF関数で空欄("")の時、Null...
-
エクセルでCSVを編集するとき、...
-
Excel > ピボットテーブル「(空...
-
ピボットテーブルで空白セルの...
-
エクセル 連番が途切れていると...
-
「データ要素を線で結ぶ」がチ...
-
形式貼り付けの「空白を無視す...
-
Excel:関数が入っているセルに...
-
Excelで、入力文字の後に自動で...
-
関数TRANSPOSEで空白セルを0に...
-
空白セル内の数式を残したまま...
-
エクセルにて負の時間を0:00と...
-
エクセルで上の行の値を自動的...
-
エクセルのグラフで式や文字列...
-
エクセル セルのコピー元が空...
-
エクセルで入力すると隣のセル...
-
excel2010 空白セルにのみ貼り...
-
【Excel】 csvの作成時、空白セ...
-
エクセルのIF関数で、隣のセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
エクセルでCSVを編集するとき、...
-
空白セルに斜線(罫線)
-
Excel > ピボットテーブル「(空...
-
Excelで、入力文字の後に自動で...
-
エクセル 連番が途切れていると...
-
ピボットテーブルで空白セルの...
-
「データ要素を線で結ぶ」がチ...
-
Excel:関数が入っているセルに...
-
数式による空白を無視して最終...
-
空白セル内の数式を残したまま...
-
excel2010 空白セルにのみ貼り...
-
【Excel】 csvの作成時、空白セ...
-
エクセルで上の行の値を自動的...
-
エクセルのIF関数で、隣のセル...
-
エクセルで、「複数のセルの中...
-
形式貼り付けの「空白を無視す...
-
関数TRANSPOSEで空白セルを0に...
-
【Excel】 Ctrl+方向キー で空...
-
色つき行の一括削除は?
おすすめ情報