
帳票フォームの全てのコントロールに
条件付き書式で
「フォーカスのあるフィールドに色を付ける」を行いたいのですが
コントロールが多すぎる為VBAでループさせたいのですがコードがわかりません。
http://www.tsware.jp/tips/tips_187.htm
これをVBAで行いたいです。
VBAでの条件付き書式は
Sub Sample()
Dim Field As String
Dim myFormName As String
With Forms(myFormName).Controls(Field)
With .FormatConditions
.Delete
With .Add(acExpression, , "[" & Field & "]=""あ""")
.BackColor = 225
End With
End With
End With
End Sub
こんな感じで出来る事は知ってますが、
vbaで「フォーカスのあるフィールドに」と言う条件の付け方がわからないので教えてください。
No.2ベストアンサー
- 回答日時:
テキストボックスコントロールに「フォーカスのあるフィールド」条件付き書式を "V...
http://detail.chiebukuro.yahoo.co.jp/qa/question …
上記質問で解決された内容を流用してみると
Dim ctl As Control
For Each ctl In Forms(myFormName).Controls
With ctl
If .ControlType = acTextBox Or .ControlType = acComboBox Then
With .FormatConditions
.Delete
With .Add(acFieldHasFocus)
.BackColor = RGB(10, 10, 255)
End With
End With
End If
End With
Next ctl
ってな感じになると思います。
※ myFormName が設定されていないので、どういう動きになるかは?
※ そのフォーム内で記述するのであれば
For Each ctl In Me.Controls
で良さそうに思います。
※ 不都合あれば、修正してください(未検証)
No.1
- 回答日時:
【要旨】
Addメソッドの引数に、「acFieldHasFocus」を指定すればOKです。
【詳細】
> vbaで「フォーカスのあるフィールドに」と言う条件の付け方が
> わからないので教えてください。
関数やメソッドで、ある決められた引数から選択するものの場合、
VBAの「インテリセンス」を利用するのが便利です。
ただ、このインテリセンスを有効に利用するには、対象オブジェクトの
「データ型を指定した変数」への格納が必要な場合があります。
(例えばご提示のコードのように、「Controls」を経由した場合は、
全てのコントロールが「FormatConditions」プロパティを持っては
いないため、その配下のメソッドなどについてはインテリセンスが
働かなくなります)
Sub Sample()
'「Field」はDAOのメンバにあるため使用しない方が無難
Dim sField As String
Dim myFormName As String
'FormatConditionsを格納する変数を宣言
Dim Obj As FormatConditions
With Forms(myFormName).Controls(Field)
'FormatConditionsを変数に格納
Set Obj = .FormatConditions
With Obj
.Delete
'データ型を明示した変数を経由しているため、以下の
'コードを手打ちした場合、「With .Add(」まで入力すると
'インテリセンスが候補を表示してくれます
'(「With .Add()」と入力してから「)」の前に戻った場合は
' 働かないため、「(」を削除して再入力するか、「()」の
' 間をマウスの右クリックして「入力候補」を選択)
With .Add(acExpression, , "[" & Field & "]=""あ""")
.BackColor = 225
End With
End With
End With
'オブジェクトを格納した変数は、念のため、明示的に変数を解放
Set Obj = Nothing
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) 3つの条件を指定してVBAで行を削除したい 条件1:分類1が重複 条件2:分類2が重複 条件3:個数 6 2022/06/24 11:07
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Visual Basic(VBA) Dateserialで データ抽出 2 2022/06/26 21:07
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSでコントロールソースの変更
-
Accessのフォームにて、詳細行...
-
Accessでフィールド名を変数(...
-
iphoneのフルスクリーンの解除方法
-
【ACCESS】フォーム名/コントロ...
-
Excel 入力規則 リスト 複数...
-
コントロールソースって
-
アクセスフォームで2つを結合テ...
-
アクセスで、チェックボックス...
-
(Word)フォームのチェックボッ...
-
Access レポート印刷するときに...
-
データベースのINT型項目にNULL...
-
レコードを保存するコード ア...
-
「フォームを作成できませんで...
-
アクセスで数値型のフィールド...
-
アクセスでフォームビューがみ...
-
YahooのIDがロックされてしまい...
-
エクセルをACCESSのレポ...
-
新規レコード行を非表示にしたい
-
passwordが入れられません・・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSでコントロールソースの変更
-
iphoneのフルスクリーンの解除方法
-
Accessのフォームにて、詳細行...
-
【ACCESS】フォーム名/コントロ...
-
ACCESSのフォームからハイパー...
-
Accessでフィールド名を変数(...
-
Excel 入力規則 リスト 複数...
-
Excel ユーザーフォーム呼び出...
-
アクセスで、チェックボックス...
-
アクセスフォームで2つを結合テ...
-
アクセスのフォームの区切り線...
-
access 改ページコントロール
-
ACCESS テキストボック...
-
AutoCAD 画層管理コントロール...
-
access setfocusについて
-
Access・VBAで、Controlsを使用...
-
Accessの連結、非連結とは何?
-
After Effectsでレイヤーの表示...
-
コントロールソースって
-
IllustratorCSで上部のツールバ...
おすすめ情報