
Excel2007でマクロ作成中の初心者です。
1)Aブックに次のマクロを書いてます。
Sub データをクリアする()
Dim list, SheetName
Const EXCEPT_NAME = "計算 番号 明細"
For Each SheetName In ActiveWorkbook.Worksheets
If InStr(EXCEPT_NAME, SheetName.name) = 0 Then
Sheets(SheetName.name).Activate
クリア範囲
End If
Next
End Sub
--------------------------------
Sub クリア範囲()
Range("AM13:AQ13").Select
Selection.ClearContents
End Sub
2)上のマクロは、Bブック上で実行します。
Bブックのマクロ実行は、最初のボタンクリック1回のみです。
(このBブックが閉じられ保存されるまで)
なぜなら、クリアした部分に、新しいデータを入れるからです。
誤って2回目のボタンクリックでも、マクロ実行しないようにしたいです。
せっかく入力した新しいデータを消去しないためです。
このようなコマンドボタンを作るにはどうしたらよろしいでしょうか?
No.6ベストアンサー
- 回答日時:
>足したところ、なぜかその部分が黄色くなり、
>「変数が定義されていません」というコンパイルエラーが発生します。
あ、もしかして、ボタンがActiveXコントロールになってないのでは?
http://www.officelabo.net/excel/list2.html
なお、前の回答にある、「ボタンの名前」はこのリンクの2番目の画像に出ているプロパティボックスの一番上の枠内の太字で書かれた文字です。
No.5
- 回答日時:
>足したところ、なぜかその部分が黄色くなり、
>「変数が定義されていません」というコンパイルエラーが発生します。
ボタンの名前と書かれている名前がくい違っているか、Falseなどにつづり間違えがあるか、のいずれかと思われます。
No.4
- 回答日時:
>EnabledプロパティをFALSEにする方法がわかりません
質問に書かれたマクロのどこかに(マクロを実行するボタンの名前がCommandButton1だとすると)
CommandButton1.Enabled = False
を付け足すだけです。
No.2
- 回答日時:
コマンドボタンで行う処理の先頭で、既に実行されたのか、まだなのか、を判断する。
既に実行されたのなら、ExitSubで処理を抜ける。
まだなら、「処理されたよ」という記録を残す。
「まだだよ」「処理されたよ」をどういう形で表すかはアナタが決めてください。
この回答への補足
ご教示くださったように自分なりにコードを作ってみました。これでうまく作動しているようにみえますが、このコードにフラッグを立てるとすると、どのように修正したらよろしいでしょうか?
Sub データを消去()
Sheets("明細").Select
If Range("D35").Value = 0 Then
MsgBox "既にクリアしてあります"
Exit Sub
Else
データクリア
MsgBox "データをクリアしました"
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Excel(エクセル) 複数のブックをひとつのブック(複数のシートにまとめる)場合にシートとの順番について 5 2022/12/28 20:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/07/13 12:31
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/09 12:17
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) VBA 複数のブックに同じ列を表示させる方法 2 2022/07/20 23:49
このQ&Aを見た人はこんなQ&Aも見ています
-
コマンドボタンに二回目のマクロ実行しない設定を
Visual Basic(VBA)
-
クリックイベントなのに、2回クリックしないとフォー
Access(アクセス)
-
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
-
4
メッセージを1度だけ表示したい。
Visual Basic(VBA)
-
5
ボタン2回押しを無効にしたい
JavaScript
-
6
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
8
Excelのマクロボタンをダブルクリックされて困っています
Visual Basic(VBA)
-
9
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
10
ExcelVBAで毎月月初の最初にBookを開いたときに実行させたいと時はどうしたらよいのでしょうか。
その他(コンピューター・テクノロジー)
-
11
VBA ユーザーフォーム ボタンクリック後にセルにフォーカス
Visual Basic(VBA)
-
12
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
13
エクセルVBAでマルチページの切り替え方法の件で
Excel(エクセル)
-
14
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
15
Excelのマクロでボタンを押すと数が1足されるようにするには?
IT・エンジニアリング
-
16
ドロップダウンリスト 自動表示したい
Excel(エクセル)
-
17
Excel VBA 空白セルがあったらメッセージボックスで知らせたい
Visual Basic(VBA)
-
18
エクセルVBA
Excel(エクセル)
-
19
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
20
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
VBAでのオートシェイプの整列機...
-
エクセルでツールバーに「縮小...
-
VBAを使ってエクセルシート...
-
ピボットグラフの書式の固定に...
-
VBA[Private Sub]のコードをシ...
-
ExcelのVBAでWordの書式を変更...
-
cellsで特定の離れた範囲を選択...
-
エクセルで「ODBC Microsoft Ac...
-
VBAでシートの保護をかける際に...
-
エクセルで、マクロをボタンに...
-
ワードで選択範囲だけの改行を...
-
Powerpointでランダムな数字の...
-
VBからPowerPointのマクロを実...
-
エクセルのマクロでSelection.S...
-
"Google検索結果の10位の下に...
-
ファイル名を今日の日付、時刻...
-
エクセル2007 テキストボ...
-
Pictures.Insertメソッド⇒Shape...
-
【ExcelVBA】クエリの更新とピ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
エクセルでツールバーに「縮小...
-
cellsで特定の離れた範囲を選択...
-
ファイル名を今日の日付、時刻...
-
最初の1回のみにボタンクリッ...
-
VBA[Private Sub]のコードをシ...
-
どのドキュメントは暗号化され...
-
Powerpointでランダムな数字の...
-
ピボットグラフの書式の固定に...
-
エクセルVBAで、画像の倍率を知...
-
【ExcelVBA】クエリの更新とピ...
-
別ブックからユーザーフォーム...
-
VBAを使ってエクセルシート...
-
エクセルのマクロでSelection.S...
-
Pictures.Insertメソッド⇒Shape...
-
wordのマクロで縮小して貼り付...
-
EXCELにクリップボードにある画...
-
【VC++6.0(MFC)】コメントを一...
-
Excelのマクロで最下行を選択し...
-
VBA ChartWizardで円グラフが書...
おすすめ情報