Board logo

標題: [發問] 讓所有ComboBox的Caption字體大小都是12 [打印本頁]

作者: VBALearner    時間: 2016-8-11 17:32     標題: 讓所有ComboBox的Caption字體大小都是12

本帖最後由 VBALearner 於 2016-8-11 17:34 編輯

請問各位高手
小弟我正在設計有Multipage的Userform(name : 表單)
現在面臨到幾個問題想請教各位~~~
1.如何用程式讓Userform上面所有的Textbox跟Combobox字型都是12 ?  以下程式是我試寫在表單的程式碼裡,但不知為何執行無效,應該跟多個控制項在不同pages沒關吧...還是說只能在Initialize裡同時執行更改屬性?
  1. Sub test()
  2.     Dim ccont As Control
  3.     For Each ccont In 表單.Controls
  4.         if typename(ccont) = "combobox" or typename(ccont) = "textbox" then ccont.Caption.Font.Size = 12
  5.     Next ccont
  6. End Sub
複製代碼
2.Multipages底下page的標籤Caption字型字體大小或顏色有辦法改變嗎?
3.有辦法批量更改各個page的控制項name屬性嗎? 例如:page2的combobox有10個,則此頁的combobox.name = "page2combobox1"....10,順序隨機沒關係
謝謝指教!
作者: lpk187    時間: 2016-8-11 18:05

本帖最後由 lpk187 於 2016-8-11 18:06 編輯

回復 1# VBALearner

必須區分大小寫,然後 應該是 ccont.Font.Size = 12
    If TypeName(ccont) = "ComboBox" Or TypeName(ccont) = "TextBox" Then ccont.Font.Size = 12
作者: lpk187    時間: 2016-8-11 18:35

回復 1# VBALearner


    已執行的控制項的name屬性無法在執行中變更名稱,但可以在Controls.Add在新增控制項時給予名稱
作者: VBALearner    時間: 2016-8-12 00:06

回復 2# lpk187

那請問一下 我如果不要在Userform_Initialize程式碼才做更改屬性動作,要直接更改所有控制項預設的字體大小,該如何執行程式碼?
因為我更改完程式執行後,每個控制項的font屬性還是沒有變...
作者: VBALearner    時間: 2016-8-12 00:48     標題: 對所有name屬性為A開頭的ComboBox...

再度請教各位高手
我想對所有表單上控制項name屬性為A開頭的ComboBox作以下設定
  1. Private Sub UserForm_Initialize()
  2.     Dim ccont As Control
  3.     Dim ar
  4.     ar = Array("1", "3", "5")
  5.    
  6.     For Each ccont In Me.Controls
  7.         If typename(ccont) = "combobox" and ccont.Name = "籌碼日*" Then ccont.List = ar
  8.     Next
  9. End Sub
複製代碼
請問程式錯在哪裡? 執行無效果...
謝謝指教
作者: GBKEE    時間: 2016-8-12 05:36

回復 6# VBALearner

  1. If typename(ccont) = "combobox" and ccont.Name = "籌碼日*" Then
複製代碼

lpk187 不是說了,TypeName 的字母大小寫要完全一樣.
再改一下為 ccont.Name Like  "籌碼日*"
作者: lpk187    時間: 2016-8-12 08:02

本帖最後由 lpk187 於 2016-8-12 08:05 編輯

回復 5# VBALearner


    在創建一個Userform的同時,先修改Userform.font屬性,再創建控制項,其控制項也會同Userform同一樣屬性
是不用寫程式的!
但先創建控制項再修改Userform.font屬性,其屬性就會不同!
作者: VBALearner    時間: 2016-8-12 11:31

回復 8# lpk187

喔喔了解了謝謝指教!
作者: VBALearner    時間: 2016-8-12 11:35

本帖最後由 VBALearner 於 2016-8-12 11:36 編輯

回復 7# GBKEE

阿阿懂了~~~我以為是"T"ype"N"ame的大小寫要一樣,原來是指"ComboBox"大小寫
改用Like居然成功了!! 可以請問超級版主是為什麼嗎O___O?! 小弟還嫩...
喔對了~~還有Multipages底下page的標籤Caption字型字體大小或顏色有辦法改變嗎?
作者: GBKEE    時間: 2016-8-12 19:32

回復 9# VBALearner
  1. With MultiPage1
  2.         .Font.Size = 25
  3.         .ForeColor = vbRed
  4.   End With
複製代碼

作者: VBALearner    時間: 2016-8-13 13:46

本帖最後由 VBALearner 於 2016-8-13 13:50 編輯

回復 10# GBKEE

對不起超級版主~我問題一直問不完O__Q! 最後一個問題就好
1.為什麼ccont.name Like "籌碼*" 會成功? 改用 = "籌碼*" 就不行?!
作者: c_c_lai    時間: 2016-8-13 15:56

回復 11# VBALearner
ccont.Name = "籌碼日*"     
' 必須為絕對吻合值,它將"籌碼日*"視為一體。即 "*" 為一 "*" 字元符號。
ccont.Name Like  "籌碼日*"
' 只要是前三字同 "籌碼日" 名稱的皆可。如 "籌碼日A"、"籌碼日XYZ" 等皆可。
' 換言之、 此處之 "*"  是一替代元 (所有的) 表示符號。
作者: jackyq    時間: 2016-8-13 17:02

回復 11# VBALearner


    善用 google 大神
大神不能叫假的
作者: VBALearner    時間: 2016-8-13 23:57

回復 12# c_c_lai

好的謝謝C大的回覆,感謝C大回我很多問題OwQ,感激不盡!
作者: VBALearner    時間: 2016-8-14 10:05

回復 11# VBALearner

好的 版主您說的是這個嗎?
https://msdn.microsoft.com/zh-tw/library/office/ff194068.aspx
作者: GBKEE    時間: 2016-8-14 10:20

回復 15# VBALearner


    [attach]24927[/attach]

程式碼中
1用滑鼠選取要查看的VBA說明
2 按下F1鍵
VBA的說明視窗出現了

或是程式碼視窗上,按下功能表上的[說明]指令,選擇要查看的說明




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)