返回列表 上一主題 發帖

[發問] 各位老師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)

回復 2# Kubi


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

TOP

回復 2# Kubi


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

TOP

多謝板主提醒,這是excel檔

int.zip (15.32 KB)

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

http://www.FunP.Net/246277
我傳了我的檔上去
差一點點,我希望的是按了CommandButton3_Click
會彈出msgbox提示我選了多少個檔,並選yes 運行CommandButton3_Click的程式
選NO沒反應,回到UserForm1

TOP

回復  marco2000


請於開始之 Private Sub CommandButton3_Click()

與 ThisWorkbook.Sheets(1).Use ...
Kubi 發表於 2014-2-18 19:53


試了,全對
我就是想要這樣,很感激你的一整天幫助:D

TOP

回復 13# Kubi
  1.     ThisWorkbook.Sheets(1).UsedRange.Clear
  2.     lb2 = UserForm1.ListBox2.ListCount
  3.    
  4.     rr = 7
  5.     For c = 1 To lb2
  6.         text1sl = UserForm1.ListBox2.List(c - 1)                        'for copy content
  7.         pp = rr + 2
  8.         kk = checkrow
  9.         arn = "C8" & ":" & "Z" & kk
  10.         ActiveWorkbook.Worksheets(text1sl).Range(arn).Copy
  11.         rrn = "B" & rr
  12.         ThisWorkbook.Sheets(1).Range(rrn).PasteSpecial
  13.         rr = rr + kk - 5
  14.         
  15.         arn2 = "A" & pp & ":" & "A" & (rr - 3)                          'for fill "A" column
  16.         ThisWorkbook.Sheets(1).Range(arn2) = ActiveWorkbook.Worksheets(text1sl).Cells(8, 3)
  17.     Next c
  18.    
複製代碼
大大你看得明嗎?
可以解釋一下嗎?

TOP

        靜思自在 : 甘願做、歡喜受。
返回列表 上一主題