- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 4# bridetobe
試試看- Private Sub CommandButton1_Click()
- Dim srcrange As Range
- Dim a_date ' As String
- Dim fndrange, fstaddress, i
- a_date = InputBox("輸入日期(例2014/7/1):", , "2014/7/1")
- If a_date = "" Then Exit Sub '取消時
- With Sheet2
- Set srcrange = .Range("A2", .[a2].End(xlDown))
- Set fndrange = srcrange.Find(what:=a_date, AFTER:=srcrange(srcrange.Count), LookIn:=xlValues) '搜尋文字
- 'After 選擇性的 Variant。 指定儲存格,尋找將從該儲存格之後開始。此儲存格對應於從使用者介面尋找時的使用中儲存格位置。
- '注意 After 必須是尋找範圍中的單個儲存格。請記住尋找是從該儲存格之後 開始的;必須等到該方法循環回到此儲存格時,才會搜尋其內容。
- '如果未指定此引數,搜尋將從範圍的左上角儲存格之後開始
- End With
- If Not fndrange Is Nothing Then
- 'fstaddress = fndress = fndrange.Address '這裡錯誤 讓他無止盡的貼下去
- fstaddress = fndrange.Address
- i = 3
- Do
- Cells(i, 1).Value = fndrange.Offset(, 1)
- Cells(i, 2).Value = fndrange.Offset(, 2)
- Cells(i, 3).Value = fndrange.Offset(, 3)
- Cells(i, 4).Value = fndrange.Offset(, 4)
- Cells(i, 5).Value = fndrange.Offset(, 5)
- Cells(i, 6).Value = fndrange.Offset(, 6)
- Cells(i, 7).Value = fndrange.Offset(, 7)
- Set fndrange = srcrange.FindNext(AFTER:=fndrange)
- i = i + 1
- Loop Until fndrange.Address = fstaddress
- Else
- MsgBox ("沒有資料")
- End If
- End Sub
複製代碼 |
|