Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


75163 / 76732 ←次へ | 前へ→

【6014】Re:TextBoxのフォーカス時ラベルの書式変更PartII
回答  ichinose  - 03/6/11(水) 23:00 -

引用なし
パスワード
   ▼123 さん:
こんばんは。
>
>以前に同じようなご質問をさせて頂きましたが、今回はTextBoxの名前と
>ラベルの名前に規則性が無いため応用が出来ません。
なければ作ったらどうでしょうか?
どこかでテキストボックスの名前と上段、左側のラベルの名前に関連性を持たせる方法が
簡単だと思いますが・・・。
例えば、

上段ラベルには、左から

c1 c2 c3 c4・・・・・・・c15とラベル名を付けます。

左側ラベルには、上から

r1 r2 r3 r4 r5 とラベル名付けます。

次にTextboxは、

左上段から

TextBox1 TextBox2 TextBox3 ・・・  TextBox15

TextBox16 TextBox17 TextBox18・・・・



TextBox61 ・・・・・・・・・・・・・・・・TextBox75
と付けたとしましょう(タブインデックス違ってもかまいません)。

Userform1のフォームモジュールに、
'=============================================================
Dim f_t_box As MSForms.TextBox
'=============================
Private Sub TextBox1_Enter()
  Call active_signal(TextBox1)
End Sub
'=============================
Private Sub TextBox2_Enter()
  Call active_signal(TextBox2)
End Sub
'=============================
Private Sub TextBox3_Enter()
  Call active_signal(TextBox3)
End Sub
'===============================
Private Sub TextBox4_Enter()
  Call active_signal(TextBox4)
End Sub
'===============================
Private Sub TextBox5_Enter()
  Call active_signal(TextBox5)
End Sub
'===============================
Private Sub TextBox6_Enter()
  Call active_signal(TextBox6)
End Sub
'================================
Private Sub TextBox7_Enter()
  Call active_signal(TextBox7)
End Sub
'================================
Private Sub TextBox8_Enter()
  Call active_signal(TextBox8)
End Sub
'・
'・
'・
'・
'というように75個のEnterイベントを作成する
'================================
Private Sub TextBox75_Enter()
  Call active_signal(TextBox75)
End Sub
'=================================
Sub active_signal(t_box As MSForms.TextBox)
  Call deactive_signal(f_t_box)
  i = Val(Mid(t_box.Name, Len("textbox") + 1))
  y = Int((i - 1) / 15) + 1
  x = i Mod 15
  If x = 0 Then x = 15
  Controls("r" & y).Font.Bold = True
  Controls("r" & y).ForeColor = &HC0&
  Controls("c" & x).Font.Bold = True
  Controls("c" & x).ForeColor = &HC0&
  Set f_t_box = t_box
End Sub
'==============================================
Sub deactive_signal(t_box As MSForms.TextBox)
  If Not t_box Is Nothing Then
    i = Val(Mid(t_box.Name, Len("textbox") + 1))
    y = Int((i - 1) / 15) + 1
    x = i Mod 15
    If x = 0 Then x = 15
    Controls("r" & y).Font.Bold = False
    Controls("r" & y).ForeColor = &H80000012
    Controls("c" & x).Font.Bold = False
    Controls("c" & x).ForeColor = &H80000012
    End If
End Sub


残念ですが、Enterイベントを一つにまとめる方法は知りませんが・・・。

1 hits

【5986】TextBoxのフォーカス時ラベルの書式変更PartII 123 03/6/11(水) 13:54 質問
【6014】Re:TextBoxのフォーカス時ラベルの書式変更... ichinose 03/6/11(水) 23:00 回答
【6020】Re:TextBoxのフォーカス時ラベルの書式変更... 123 03/6/12(木) 12:28 発言
【6022】Re:TextBoxのフォーカス時ラベルの書式変更... ichinose 03/6/12(木) 13:23 発言
【6023】Re:TextBoxのフォーカス時ラベルの書式変更... Jaka 03/6/12(木) 13:39 発言
【6165】Re:TextBoxのフォーカス時ラベルの書式変更... 123 03/6/18(水) 9:53 お礼
【6301】今ごろ書いても見ないと思うけど...。 Jaka 03/6/23(月) 9:43 回答
【6313】余計な物が.... Jaka 03/6/24(火) 9:02 発言

75163 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free