返回列表 上一主題 發帖

[發問] VBA執行時發生執行階段錯誤''91''

[發問] VBA執行時發生執行階段錯誤''91''

[版主管理留言]
  • 小誌(2010-5-26 10:36): 不能傳附件?你不是都已經上傳附件檔案了

本帖最後由 Hsieh 於 2010-5-26 16:36 編輯

小弟遇到一個問題

就是小弟如果先按如下圖的順序,來執行巨集~~
就會出現userform2的表單


但如果先按如下圖的順序時



就會出現如下圖


當按下確定時,就會出現如下圖 (執行階段錯誤91,沒有設定物件變數或with區塊變數)?


小弟在網路上找了關於這個訊息的解釋,但這個訊息似乎有好幾種說法

有說是變數沒設為區域,也有說是沒設為全域變數~~

請問這是怎麼回事呢?
2.rar (19.07 KB)
感謝各位,祝安康~~


PS:為什麼論壇無法傳附件上去?
錢是很寂莫的,所以會想辦法聚在一起!

回復 1# syuan


    if敘述沒設定到jp
改成
  1. Private Sub ListBox3_Click()
  2. UserForm2.ListBox1.Clear

  3. Set TA = Sheets("sheet1").Range("a2:b6")'設置變數TA
  4. Set JP = Sheets("sheet1").Range("A10:B14")'設置變數JP
  5. If UserForm1.ListBox1.ListIndex = 0 And UserForm1.ListBox2.ListIndex = 0 And UserForm1.ListBox3.ListIndex = 0 Then
  6. With UserForm2.ListBox1
  7.      .ColumnCount = TA.Columns.Count
  8.      .ColumnWidths = "100"
  9.      .List = TA.Value
  10. End With
  11. UserForm2.Show
  12. '----------------------------------------------------
  13. ElseIf UserForm1.ListBox1.ListIndex = 1 And UserForm1.ListBox2.ListIndex = 0 And UserForm1.ListBox3.ListIndex = 0 Then
  14. UserForm2.ListBox1.Clear
  15. With UserForm2.ListBox1
  16.      .ColumnCount = JP.Columns.Count
  17.      .ColumnWidths = "100"
  18.      .List = JP.Value
  19. End With
  20. UserForm2.Show
  21. Else
  22. MsgBox "找不到檔案"
  23. End If
  24. End Sub
複製代碼
學海無涯_不恥下問

TOP

[版主管理留言]
  • 小誌(2010-5-26 22:47): 請詳閱論壇版規之檔案上下傳原則,檔案附件請儘量刪除不必要資料後壓縮後上傳(非請人家改檔名)。

本帖最後由 syuan 於 2010-5-26 11:44 編輯

Test.rar (67.5 KB) 感謝Hsieh版大的解惑,感謝小誌管大的回覆(應該是小弟目前的權限不足,所以看不到自己上傳的附件)

小弟將表單一的ElseIF下的set該句,放到如版大所述的位置,果然就不再出現那個訊息(執行階段錯誤91,沒有設定物件變數或with區塊變數)

但當點選userform1裡Listbox1的01.日本時,userform1的Listbox2與Listbox3都可顯示,而userform2的Listbox1裡的項目卻無法點選(如下圖)
(小弟的這個程式是用Excel的VBA來開啟pdf檔)



感謝先進們,祝安康~~

ps:附件的檔案副檔名,請改為xls!
錢是很寂莫的,所以會想辦法聚在一起!

TOP

本帖最後由 PD961A 於 2010-5-26 12:41 編輯

感謝Hsieh版大的解惑,感謝小誌管大的回覆(應該是小弟目前的權限不足,所以看不到自己上傳的附件)

小弟 ...
syuan 發表於 2010-5-26 11:43 [/quote]

HS板主
請問下載時的對話要用儲存   下載 (46.82 KB)


檔案名稱直接把RAR附檔名一併寫入


可是解不出檔案
請問步驟哪裡有問題?
謝謝!!

TOP

回復 4# PD961A


    1#附件已更新,下載後已是正確rar壓縮檔
上傳附件不接受xls副檔名
要先壓縮後再上傳壓縮檔
學海無涯_不恥下問

TOP

本帖最後由 PD961A 於 2010-5-26 18:10 編輯

回復 5# Hsieh
版主
1#附件已更新,下載後已是正確rar壓縮檔
我知道:上傳附件不接受xls副檔名
            要先壓縮後再上傳壓縮檔
正常是直接解壓縮就可以
不過因為開出的檔案是這樣的畫面才會覺得疑問...
謝謝!!



  另外不好意思1#附件更新檔是哪一個??感謝您!

TOP

回復 6# PD961A


    原因在於樓主只是把檔案取名為2.rar
實質上該檔案是.xls
我已經將樓主原檔案重新壓縮上傳
所以現在已是正確的.rar了
學海無涯_不恥下問

TOP

造成大家困擾,真是十分抱歉!

起因是小弟直接將xls檔的副檔名,改成rar的壓縮檔!

在第一帖忘了註明,結果讓PD961A大誤解,真是不好意思!

下次小弟會將該檔壓縮後再上傳~~
錢是很寂莫的,所以會想辦法聚在一起!

TOP

本帖最後由 syuan 於 2010-7-3 14:33 編輯

不好意思,小弟又來問問題了~~

小弟想製作一個輸入號碼後,再按下按鈕時,會出現該號碼的PDF檔

如圖下


說明:當上方的LISTBOX點選後(即EXCEL下方的SHEET名稱),使用者再輸入想查詢的號碼,VBA就會依輸入的碼碼,來搜尋硬碟路徑下的PDF檔

小弟實在不知道該如何寫,已經在網路上找很久,但都沒找到類似的語法~~

只好上來請益各位,還望各位先進不吝教導,祝有個愉快假期!

這是EXCEL的VBA檔案 Test.rar (23.88 KB)
錢是很寂莫的,所以會想辦法聚在一起!

TOP

本帖最後由 kimbal 於 2010-7-13 22:12 編輯
不好意思,小弟又來問問題了~~

小弟想製作一個輸入號碼後,再按下按鈕時,會出現該號碼的PDF檔

如圖 ...
syuan 發表於 2010-7-3 12:23



   
下面引用由syuan2010/07/14 00:27am 發表的內容:
感謝kimbal大的教導(這幾天在弄別的東西,所以沒立即回覆)
小弟將這段語法套在程式,的確能將pdf打開
但小弟又發現兩個問題點︰
1.如果pdf的主檔名裡,有『1234-2010.pdf』、『4321.pdf』與『1234-1-2010.pdf?...


『K = TextBox1.Text
FS = "H:\" & ListBox1.List(ListBox1.ListIndex) & "\" 』
這段改成如下

『Select Case ListBox1.ListIndex
Case 0
K = TextBox1.Text
FS = "F:\xxxx\測試用\甲\"
Case 1
K = TextBox1.Text
FS = "F:\xxxx\測試用\乙\"
Case 2
K = TextBox1.Text
FS = "F:\xxxx\測試用\丙\"
End Select』

1. 如果有多於1個檔
StrFile = Dir(FS & K & "-*.pdf")
    If StrFile = "" Then
        MsgBox "找不到檔案"
    End If
    Do While StrFile <> ""
        If StrFile <> "" Then
            ActiveWorkbook.FollowHyperlink  FS & K & StrFile
        End If
        StrFile = Dir
    Loop

2. 試試,
FS & "*" & K & "-*.pdf"

就是找  "F:\xxxx\測試用\x\" + 任何字 + textbox上的字 + - +  任何字 + '.pdf' 的意思
懂得發問,答案就會在其中

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

TOP

        靜思自在 : 謊言像一朵盛開的鮮花,外表美麗,生命短暫。
返回列表 上一主題