返回列表 上一主題 發帖

[發問] 各位老師vba 改善獲取指定頁的程式內有程序代碼!

[發問] 各位老師vba 改善獲取指定頁的程式內有程序代碼!

本帖最後由 GBKEE 於 2014-2-19 15:00 編輯
  1. Private Sub OptionButton1_Click() 'for default page
  2. Dim Arr(1 To 20) As String
  3. 'Dim thisworkbook As Workbook

  4. Arr(1) = "xxx1109"
  5. Arr(2) = "xxx1160"
  6. Arr(3) = "xxx1150"
  7. Arr(4) = "xxx1110"
  8. Arr(5) = "xxx1130"
  9. Arr(6) = "xxx1141"
  10. Arr(7) = "xxx1171"
  11. Arr(8) = "xxx1172"
  12. Arr(9) = "xxx1173"
  13. Arr(10) = "xxx1176"
  14. Arr(11) = "xxx1174"
  15. Arr(12) = "xxx1175"
  16. Arr(13) = "xxx1623"
  17. Arr(14) = "xxx1180"
  18. Arr(15) = "xxx1201"
  19. Arr(16) = "xxx1610"
  20. Arr(17) = "xxx1621"
  21. Arr(18) = "xxx1622"
  22. Arr(19) = "xxx1630"
  23. Arr(20) = "xxx1710"
  24. For A = 1 To 20
  25. UserForm1.ListBox2.AddItem (Arr(A))
  26. Next A

  27. End Sub
複製代碼
各位老師,我想選取指定的excel頁,共有20頁

我現在寫的方法是定了檔名​​arr(1)xxx1109,

舉例第一個是xxx1109,當頁名是xxx1109


就會在ListBox顯示,但xxx是會變動的,數字就不會變

xxx一轉,如改成頁名zzzz1109 我就選取不到了

有方法用搜查數字,從而選取xxx1109/zzzz1109嗎?


我的意思就是遍歷所有表格名稱
然後提取每個表名稱最後的四個字符進行匹配,再添加進列表。
請問各位可以寫程序代碼出來教教我嗎??


上傳了附件,求教

UserForm1.rar (1.7 KB)

因無資格下載檔案,用猜的。
cw = "1109,1160,1150,1110,1130,1141,1171,1172,1173,1176,1174,1175,1623,1180,1201,1610,1621,1622,1630,1710"
For Each sh In Worksheets
    If InStr(cw, Right(sh.Name, 4)) <> 0 Then UserForm1.ListBox2.AddItem sh.Name
Next sh
[b]Kubi[/b]

TOP

回復 2# Kubi


  我先試試,感謝你的回覆:'(

TOP

回復 2# Kubi


大大你的程序代碼,很幫到我
另外請問大大你還會在UserForm1.ListBox2
顯示選取了多少個檔案?我的意思是用你的程序,在UserForm1.ListBox2,找到有3個檔案
就會出現"已選取3個檔案"的句子嗎

TOP

多謝板主提醒,這是excel檔

int.zip (15.32 KB)

TOP

回復 5# marco2000

無資格下載檔案...
看看底下是否是版大所需?
For i = 0 To ListBox2.ListCount - 1
    If ListBox2.Selected(i) = True Then n = n + 1
Next
MsgBox "已經選取 " & n & " 個檔案"
[b]Kubi[/b]

TOP

6# 是說於ListBox2內(可MultiSelect)選取幾個檔案,若是要知道找到了幾個檔案,以及ListBox2內選取幾個檔案於則是用:
For i = 0 To ListBox2.ListCount - 1
    If ListBox1.Selected(i) = True Then n = n + 1
Next
MsgBox "於" & ListBox2.ListCount & " 個被找到的檔案中,已選了取 " & n & " 個檔案"
[b]Kubi[/b]

TOP

試了啦,大大你很強,是我想要的效果
我想在彈出到MsgBox加YES/NO
YES就運行另一個CommandButton3_Click  程式,NO就不變

TOP

回復 7# Kubi


    真的無言感激

TOP

回復 7# Kubi
  1.     Dim Msg, Style, Title, Help, Ctxt, Response, MyString
  2. Msg = "Do you want to continue ?"    ' 定義訊息。
  3. Style = vbYesNo + vbCritical + vbDefaultButton2    ' 定義按鈕。
  4. Title = "MsgBox Demonstration"    ' 定義標題。
  5. Help = "DEMO.HLP"    ' 定義說明檔。
  6. Ctxt = 1000    ' 定義內容代碼。
  7.         ' 顯示訊息。
  8. Response = MsgBox(Msg, Style, Title, Help, Ctxt)
  9. If Response = vbYes Then    ' 若使用者按下 [是]。
  10.     MyString = "Yes"    ' 產生相對回應。
  11. Else    ' 若使用者按下 [否]。
  12.     MyString = "No"    ' 產生相對回應。
  13. End If
複製代碼
這是我的程序代碼,如何修改msgbox是你的程序,並加上yes就運行,no就不作動作

TOP

        靜思自在 : 自己害自己,莫過於亂發脾氣。
返回列表 上一主題