エクセル2000です。
以下のワークシートチェンジイベントがうまくいきません。
Targetに値が入る場合は問題ないのですが、TargetをクリアしてもRange("F5").MergeAreaがクリアされません。
Targetをクリアした後、TargetをダブルクリックしてからEnterキーを押せばRange("F5").MergeAreaがクリアされるのですが、いちいちそうさせるわけにもいきません。
どうしたらよいのでしょうか?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$5" Then Exit Sub
If Target.Value <> "" Then
Range("F5").Value = Range("D42").Value
Else
Range("F5").MergeArea.ClearContents
End If
End Sub
エクセル2000です。
以下のワークシートチェンジイベントがうまくいきません。
Targetに値が入る場合は問題ないのですが、TargetをクリアしてもRange("F5").MergeAreaがクリアされません。
Targetをクリアした後、TargetをダブルクリックしてからEnterキーを押せばRange("F5").MergeAreaがクリアされるのですが、いちいちそうさせるわけにもいきません。
どうしたらよいのでしょうか?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$5" Then Exit Sub
If Target.Value <> "" Then
Range("F5").Value = Range("D42").Value
Else
Range("F5").MergeArea.ClearContents
End If
End Sub
エクセル2000です。
以下のワークシートチェンジイベントがうまくいきません。
Targetに値が入る場合は問題ないのですが、TargetをクリアしてもRange("F5").MergeAreaがクリアされません。
Targetをクリアした後、TargetをダブルクリックしてからEnterキーを押せばRange("F5").MergeAreaがクリアされるのですが、いちいちそうさせるわけにもいきません。
どうしたらよいのでしょうか?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$5" Then Exit Sub
If Target.Value <> "" Then
Range("F5").Value = Range("D42").Value
Else
Range("F5").MergeArea.ClearContents
End If
End Sub
エクセル2000です。
以下のワークシートチェンジイベントがうまくいきません。
Targetに値が入る場合は問題ないのですが、TargetをクリアしてもRange("F5").MergeAreaがクリアされません。
Targetをクリアした後、TargetをダブルクリックしてからEnterキーを押せばRange("F5").MergeAreaがクリアされるのですが、いちいちそうさせるわけにもいきません。
どうしたらよいのでしょうか?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$5" Then Exit Sub
If Target.Value <> "" Then
Range("F5").Value = Range("D42").Value
Else
Range("F5").MergeArea.ClearContents
End If
End Sub
EXCELのVBAを使って経費の打ち込みをするマクロを作っています
その中で、コンボボックスで日付を選択するようにしました
コンボボックスに表示する日付はセルから「RowSource」で取り出しました
セルの日付の入力形式は「2008/10/1」です
そのセルの書式設定で表示形式を「ユーザー定義で d (日だけ表示)」としています
なので、コンボボックスで選択して表示する際も日だけを表示したいのですがうまくいきません
ComboBox1 = Format(ComboBox1, "d")
とすると、コンボボックス内で数字がちらちらしてランダムに数字が表示されてしまいます
ComboBox1 = Format(ComboBox1, "m月d日")
この形だと、きちんと「10月1日」の様に表示されます
Private Sub UserForm_Initialize()
With ComboBox1
.RowSource = "sheet1!A1:A5" '日付のセル
End With
End Sub
Private Sub ComboBox1_Change()
ComboBox1 = Format(ComboBox1, "m月d日")
End Sub
日だけを表示する方法をご教授ください
EXCELのVBAを使って経費の打ち込みをするマクロを作っています
その中で、コンボボックスで日付を選択するようにしました
コンボボックスに表示する日付はセルから「RowSource」で取り出しました
セルの日付の入力形式は「2008/10/1」です
そのセルの書式設定で表示形式を「ユーザー定義で d (日だけ表示)」としています
なので、コンボボックスで選択して表示する際も日だけを表示したいのですがうまくいきません
ComboBox1 = Format(ComboBox1, "d")
とすると、コンボボックス内で数字がちらちらしてランダムに数字が表示されてしまいます
ComboBox1 = Format(ComboBox1, "m月d日")
この形だと、きちんと「10月1日」の様に表示されます
Private Sub UserForm_Initialize()
With ComboBox1
.RowSource = "sheet1!A1:A5" '日付のセル
End With
End Sub
Private Sub ComboBox1_Change()
ComboBox1 = Format(ComboBox1, "m月d日")
End Sub
日だけを表示する方法をご教授ください
エクセルVBAでプログラムをしています。
Application.Onkeyでショートカットを指定したいのですがフォーム上ではうまく指定できません。
フォーム上での指定は不可能なんでしょうか?
ショートカットを認識するケース
標準モジュールに
Sub test2()
MsgBox "test2"
End Sub
Sub Auto_Open()
Application.OnKey "{b}", "test2"
End Sub
としてシート上で「b」を押した場合はうまくいきます。
ショートカットを認識しないケース
標準モジュールに
Sub test()
MsgBox "test"
End Sub
UserForm1フォームに
Private Sub UserForm_Initialize()
Application.OnKey "{a}", "test"
End Sub
としてフォームをロード(表示)して「a」を押しても何もおきません。
またフォームが表示されている状態で「b」を押しても何もおきません。
上記のコードはテストで作ったものなのでこれ以外はフォームを開く文以外何も書いておりませんので他との兼ね合いではないと思います。
どうすれば思ったとおりの動作になるのでしょうか?
そもそもOnkeyはユーザフォームがアクティブのときは動かないのでしょうか?
動かない場合、フォームがアクティブなときのみフォームごとに違う関数を呼ぶショートカットを作る方法はありませんでしょうか?
(コントロールごとにkey_downイベントで確認する方法はコントロールの数が各100個ほどあるのと、フォームが10個以上あるため出来ればやりたくありません。)
環境はwinXP、excel2003です。
よろしくお願いいたします。
エクセルVBAでプログラムをしています。
Application.Onkeyでショートカットを指定したいのですがフォーム上ではうまく指定できません。
フォーム上での指定は不可能なんでしょうか?
ショートカットを認識するケース
標準モジュールに
Sub test2()
MsgBox "test2"
End Sub
Sub Auto_Open()
Application.OnKey "{b}", "test2"
End Sub
としてシート上で「b」を押した場合はうまくいきます。
ショートカットを認識しないケース
標準モジュールに
Sub test()
MsgBox "test"
End Sub
UserForm1フォームに
Private Sub UserForm_Initialize()
Application.OnKey "{a}", "test"
End Sub
としてフォームをロード(表示)して「a」を押しても何もおきません。
またフォームが表示されている状態で「b」を押しても何もおきません。
上記のコードはテストで作ったものなのでこれ以外はフォームを開く文以外何も書いておりませんので他との兼ね合いではないと思います。
どうすれば思ったとおりの動作になるのでしょうか?
そもそもOnkeyはユーザフォームがアクティブのときは動かないのでしょうか?
動かない場合、フォームがアクティブなときのみフォームごとに違う関数を呼ぶショートカットを作る方法はありませんでしょうか?
(コントロールごとにkey_downイベントで確認する方法はコントロールの数が各100個ほどあるのと、フォームが10個以上あるため出来ればやりたくありません。)
環境はwinXP、excel2003です。
よろしくお願いいたします。