
No.5ベストアンサー
- 回答日時:
その形ではマクロは実行できません。
出来ても簡単ではありませんし、幾つも制限があります。
Sub a()
~~
End Sub
Sub b()
~~
End Sub
Function cx(c)
If c = 1 Then
Call a
cx = "A"
Else
Call b
cx = "B"
End If
End Function
のように、自作関数 CX() を作って、セルに「=CX(A1)」のように記入すれば、実行できます。
ただし、どのマクロからも、他のセルに値を記入する事はできませんので、Function cx(c) ではなく、sub cx() として作成して、ボタンを作って実行させるのが良いとおもいます。
ご回答ありがとうございます。
教えていただいた例を参考に組んでみましたら
希望通りの結果を出せました。
自作関数という手があったのですね。勉強になりました。
No.4
- 回答日時:
他のマクロを Private にしておいて、Start を実行するとか、、、
Sub Start()
If ActiveSheet.Range("A1").Value = 1 Then
Call Macro1
Else
Call Macro2
End If
End Sub
Private Sub Macro1()
MsgBox "Macro1"
End Sub
Private Sub Macro2()
MsgBox "Macro2"
End Sub
それともセルの値が変わった時に実行させたいのかな?
ご回答ありがとうございます。
そうです。セルA1の値が変わって、初めてマクロを実行させたいのです。
質問の内容が分かりづらくてすみません。
No.3
- 回答日時:
「ツール」>「マクロ」>「Visual Basic Editor」を開いて、以下のようにひとつのマクロにまとめてはどうでしょうか?
Sub test()
If Range("A1").Value = 1 Then
Range("B1").Value = 1 ・・・A1が1のときに行いたい処理
Else
Range("b1").Value = 0 ・・・A1が1以外のときに行いたい処理
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルのマクロをセルの値に応じて自動起動したい
Visual Basic(VBA)
-
セルの結果でマクロ実行
Visual Basic(VBA)
-
エクセル マクロの実行について
Excel(エクセル)
-
-
4
”戻り値”が変化したときに、マクロを実行したい
Visual Basic(VBA)
-
5
エクセル:関数で他のセルの内容を書き換えることは出来るのですか?
Excel(エクセル)
-
6
条件に一致したときに画像を表示したいのですが・・。
Excel(エクセル)
-
7
Hyperlink関数をクリックしてくれるマクロ
Excel(エクセル)
-
8
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
9
EXCELでセルの値が変化したときだけにマクロ実行
Excel(エクセル)
-
10
セルに入力するたびにマクロを実行する
Visual Basic(VBA)
-
11
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
12
別のシートから値を取得するとき
Visual Basic(VBA)
-
13
値を入力後、自動的にアクティブセルが移動するマクロ
Excel(エクセル)
-
14
エクセルの画面にユーザーフォームでテンキーを表示させたい
Excel(エクセル)
-
15
他のシートの特定のセルが変わると、自動実行されるマクロについて
Excel(エクセル)
-
16
ExcelでTODAY関数を更新させない方法
Excel(エクセル)
-
17
【Excel VBA】セルの値が変更されたらマクロを実行
その他(Microsoft Office)
-
18
エクセル2016でfilter関数がないので、、抜き出す関数をおしえてください。
Excel(エクセル)
-
19
VBA 空白行に転記する
Visual Basic(VBA)
-
20
excel VBA 2つのシートの特定の列を比較して同じ値のセルがあったらその行を上書きしたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Libre office マクロ
-
マクロを組んで作業するのは実...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
マクロを使って結合セルに丸を...
-
IF関数を使ってマクロを実行さ...
-
エクセルで縦に並んだデータを...
-
最小化したoutlook元に戻すマクロ
-
エクセルのマクロでワードの任...
-
ExcelのVBA。public変数の値が...
-
EXCELのVBAマクロでパソコンを...
-
非表示の列をすべて削除するマクロ
-
既存のマクロをコンボボックス...
-
VBSからのエクセル操作での初期...
-
ASP.NETからEXCEL起動
-
エクセルでA1セルに時刻をリア...
-
エクセルVBAでエラー、Changeの...
-
Wordのマクロでクリップボード...
-
VB初心者です。メールから添付...
-
Sub ***( ) と Private Sub ***...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excelのセル値に基づいて図形の...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
Excel_マクロ_現在開いているシ...
-
ExcelVBAでPDFを閉じるソース
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
エクセルで縦に並んだデータを...
-
TERA TERMを隠す方法
-
特定文字のある行の前に空白行...
-
Excel マクロでShearePoint先の...
-
UWLSの記録でマクロを作成し使...
-
エクセルで別のセルにあるふり...
-
マクロ実行時、ユーザーフォー...
-
ソース内の行末に\\
-
wordを起動した際に特定のペー...
おすすめ情報