エクセルのボタンにマクロを割り当てました。
ボタンの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も見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
Excelのマクロでボタンを押すと数が1足されるようにするには?
IT・エンジニアリング
-
VBAでセルをクリックする回数で表示が変わる
その他(プログラミング・Web制作)
-
VBAコマンドボタンを押すたびに、データ取得させたい。
Visual Basic(VBA)
-
-
4
コマンドボタンに二回目のマクロ実行しない設定を
Visual Basic(VBA)
-
5
Excelでセルをクリックするたびに表示を切り替えるには?
Excel(エクセル)
-
6
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
7
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
8
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
11
複数のマクロボタンをまとめて一つのマクロボタンにするということ。
Excel(エクセル)
-
12
ExcelのVBAで連番を振る。
Excel(エクセル)
-
13
エクセルでエラーが出て困っています。
Excel(エクセル)
-
14
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
15
VBAで多数のプログラムを一つのボタンに集約することは可能でしょうか?
Visual Basic(VBA)
-
16
ExcelVBAでセルをクリックしてユーザーフォームを表示するには
Excel(エクセル)
-
17
EXCELのVBAでRange(A1:C4")を変数にする方法を教え"
Visual Basic(VBA)
-
18
最初の1回のみにボタンクリックでマクロ実行する
Visual Basic(VBA)
-
19
コンボボックス ▼ボタンをクリックしたらイベント
PowerPoint(パワーポイント)
-
20
エクセル ボタンを押すとセルの色が変わるようにしたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
関数TRANSPOSEで空白セルを0に...
-
数式による空白を無視して最終...
-
Excelで"0"を空白に変換する方法
-
Excel:関数が入っているセルに...
-
空白セル内の数式を残したまま...
-
Excel > ピボットテーブル「(空...
-
OpenOfficeでのワイルドカード...
-
Excel 特定セルの数値を参照し...
-
エクセルで、「複数のセルの中...
-
vlookup にて、返す値が、空白...
-
VLOOK関数で作った請求書で、¥...
-
リンクされているセルを空白と...
-
エクセルで上の行の値を自動的...
-
エクセルで、合計をもとめたい...
-
エクセルの数式で教えてください。
-
時間の差し引き 元セルが空白セル
-
【EXCEL】空白でないセルの位置...
-
Excel関数 直近3回分の出庫平均...
-
列の複数ある空白セルを飛ばし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
数式による空白を無視して最終...
-
エクセルでCSVを編集するとき、...
-
ピボットテーブルで空白セルの...
-
excel2010 空白セルにのみ貼り...
-
Excel > ピボットテーブル「(空...
-
空白セル内の数式を残したまま...
-
「データ要素を線で結ぶ」がチ...
-
エクセルで、「複数のセルの中...
-
Excelで、入力文字の後に自動で...
-
エクセル 連番が途切れていると...
-
《Excel2000》SUMPRODUCT関数で...
-
SUMIFS関数で「計算式による空...
-
【Excel】 csvの作成時、空白セ...
-
形式貼り付けの「空白を無視す...
-
Excel:関数が入っているセルに...
-
リンク先が空白若しくはゼロの...
-
エクセルで上の行の値を自動的...
-
エクセルにて負の時間を0:00と...
-
エクセルのグラフで式や文字列...
おすすめ情報