返回列表 上一主題 發帖

[發問] 如何引用儲存格內容(=表單名稱)顯示表單?

[發問] 如何引用儲存格內容(=表單名稱)顯示表單?

[C1]=台南市
[C2]=中西區

是否能直接引用C1,C2 叫出 userform台南市中西區?
例如 :
Sub 顯示路街巷()
"userform"&[C1]&[C2].show
End Sub

無須如目前逐一列舉。

本帖最後由 e123chen 於 2011-4-20 14:26 編輯

回復 5# hugh0620
感謝大大指導。

我希望 C1輸入"台北市",C2輸入"大安區",就能顯示 "userform台北市大安區" 表單。
目前是用 Select Case,台灣有368個郵遞區號,得寫368個Case。

能不能只寫一行,例如 "userform" & [C1] & [C2].show,自動依據C1,C2內容顯示對應表單。

TOP

回復 4# e123chen

     樓主 下述為依您要的結果設計~   僅供參考~
     這不是一個好的方式(針對市與區結合多的時候時,會寫很常)
     請將程式碼貼到你需要的sheet中~
     select 的 case 依您需要的笤整~

Private Sub Worksheet_Change(ByVal 變數 As Range)
If 變數.Row = 1 And 變數.Column = 3 And 變數 <> "" And 變數.Offset(1, 0) <> "" Then
   A = 變數 & 變數.Offset(1, 0)
ElseIf 變數.Row = 2 And 變數.Column = 3 And 變數 <> "" And 變數.Offset(-1, 0) <> "" Then
   A = 變數.Offset(-1, 0) & 變數
Else
   Exit Sub
End If
    Select Case A   
    Case "台南市中西區"
         UserForm1.Show
    Case "台南市東區"
         UserForm2.Show
    Case "台南市南區"
         UserForm3.Show
    End Select
End Sub
學習才能提升自己

TOP

本帖最後由 e123chen 於 2011-4-11 09:43 編輯

照辦了,沒反應。
能否勞煩版大幫忙看一下? 謝謝!

001.zip (645.63 KB)

TOP

感謝版大指導,這就試試。

TOP

Public Sub subShowUserForm(strFormName As String)
    Dim intNumOfForms As Integer
    Dim intNumOfFormsCounter As Integer
    intNumOfForms = UserForms.Count
    If UserForms.Count > 0 Then
        For intNumIfFormsCounter = 1 To intNumOfForms
            If UserForms(intNumIfFormsCounter - 1).Name = strFormName Then
                UserForms(intNumIfFormsCounter - 1).Show
                Exit Sub
            End If
        Next
    End If
End Sub

用法:
subShowUserForm([C1]&[C2])

估計每個USERFORM的分別,在於只有小許LABEL?
其實弄這麼多個USERFORM, 不如把所有的統一,再在FORM裡面分控件
懂得發問,答案就會在其中

今日の一秒は  明日にない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

        靜思自在 : 能幹不幹,不如苦幹實幹。
返回列表 上一主題