返回列表 上一主題 發帖

[發問] 多筆EXCEL搜尋的用法-延伸問題

[發問] 多筆EXCEL搜尋的用法-延伸問題

本帖最後由 mark15jill 於 2011-6-8 15:59 編輯

之前 有在此區 發問過 多筆excel搜尋
承蒙各位大大的礁島 有得到達到答案\
可是 現在產生一個問題
因當初 範例中 的地址 只有  台灣  和 美國
可是今天如果地址是    台灣台北 或者是 美國紐約的話
程式會無法判斷出來 進而全部空白
不知道是否有方式可以解決

以下是那篇的程式碼
  1. Private Sub 查詢()

  2.     Dim Text$, File$, TheSh As Object, Sh As Worksheet, Rng As Range, RngAddress$

  3.     With ThisWorkbook            '程式碼置於查詢總表.xls

  4.         Set TheSh = .Sheets("查詢")

  5.         TheSh.UsedRange.Offset(2).Clear

  6.         File = Dir(.Path & "\*年度*.xls")

  7.         Do While File <> ""

  8.         With Workbooks.Open(.Path & "\" & File)

  9.                 For Each Sh In .Sheets

  10.                     Set Rng = Sh.Range("F:F").Find(TheSh.TextBox1, LookAt:=xlWhole)

  11.                     If Not Rng Is Nothing Then

  12.                         RngAddress = Rng.Address

  13.                         With TheSh.Range("C" & Rows.Count).End(xlUp)

  14.                             .Offset(1, -2) = File

  15.                             .Offset(1, -1) = Sh.Name

  16.                         End With

  17.                     End If

  18.                     Do While Not Rng Is Nothing

  19.                         With TheSh.Range("C" & Rows.Count).End(xlUp)

  20.                             .Offset(1).Resize(1, 26) = Sh.Range(Sh.Cells(Rng.Row, "A"), Sh.Cells(Rng.Row, "Z")).Value

  21.                         End With

  22.                         Set Rng = Sh.Range("F:F").FindNext(Rng)

  23.                         If RngAddress = Rng.Address Then Exit Do

  24.                     Loop

  25.                 Next

  26.             .Close 0

  27.             End With

  28.             File = Dir

  29.         Loop

  30.     End With

  31. End Sub
複製代碼
ps 再延伸一個問題
如果今天 要用option控制項 去控制 他所要搜尋的欄位
如 程式的搜尋欄位預設 F 欄位
但是今天如果要 改搜尋  D欄位
那麼 OPTION控制項這部分要怎設定
有試著設定 但是會變成無法判讀(找不出來)

回復 2# Hsieh


    版大
我把那行程式+在

                For Each Sh In .Sheets

                    ' 取消 Set Rng = Sh.Range("F:F").Find(TheSh.TextBox1, LookAt:=xlWhole)

                    Set Rng = Sh.Range("e:e").Find(TheSh.TextBox1)  '-版大的程式


                    If Not Rng Is Nothing Then


可是 結果還是一樣 空白

TOP

回復 4# luhpro


    抱歉 是我的疏忽><!!
因為有試著用if optionbutton1.value = 1 then 的方式下去 但是會造成 程式無法判讀的問題
已經附檔 這是原始的版本..


查詢比對-延伸問題.rar (33.49 KB)

TOP

本帖最後由 mark15jill 於 2011-6-9 11:21 編輯

回復 6# Hsieh


    版大 謝謝 可以用了>< 感恩感恩
新增選項的問題解決了~~
但是 還是不懂這行的意思...
nd = IIf(.OptionButton1 = True, 2, IIf(.OptionButton2 = True, 3, IIf(.OptionButton3 = True, 4, IIf(.OptionButton4 = True, 5, IIf(.OptionButton4 = True, 6, 16)))))
隱約知道說 true,2 是 第二欄位  可是 為什麼要那樣寫?? 不懂不董
如 true,6,16  是第16個欄位  但是 6是甚麼意思

TOP

        靜思自在 : 人要知福、惜福、再造福。
返回列表 上一主題