標題:
用公式追蹤出自那一欄位
[打印本頁]
作者:
enoch
時間:
2012-1-10 18:38
標題:
用公式追蹤出自那一欄位
能夠輸入資料, 可以追蹤到在那一個表中出現
例如輸入
vwx顯示為表3
tde 顯示為表4嗎
請指教
表1 表2 表3 表4
abc jkl stu zbc
def mno vwx eqa
ghi pqr yqa tde
作者:
register313
時間:
2012-1-10 19:50
本帖最後由 register313 於 2012-1-11 00:54 編輯
回復
1#
enoch
初學者VBA
出自何工作表
Sub cc()
ser = InputBox("請輸入要尋找的值:")
If Trim(ser) <> "" Then
For sht = 1 To Sheets.Count
Set rng = Sheets(sht).Cells.Find(what:=ser, lookat:=xlWhole)
If Not rng Is Nothing Then
out = out & Sheets(sht).Name & Chr(10)
End If
Next sht
End If
If out = "" Then
MsgBox "沒有找到"
Else: MsgBox "尋找的值" & ser & "出現在工作表" & Chr(10) & out
End If
End Sub
複製代碼
出自何欄位
Sub dd()
ser = InputBox("請輸入要尋找的值:")
If Trim(ser) <> "" Then
For C = 1 To Range("A1").End(xlToRight).Column
Set rng = Columns(C).Find(what:=ser, lookat:=xlWhole)
If Not rng Is Nothing Then
out = out & Cells(1, rng.Column) & Chr(10)
End If
Next C
End If
If out = "" Then
MsgBox "沒有找到"
Else: MsgBox "尋找的值" & ser & "出現在" & Chr(10) & out
End If
End Sub
複製代碼
作者:
register313
時間:
2012-1-11 12:49
回復
2#
register313
="表"&MAX((A2:D4=F1)*COLUMN(A2:D4)) 陣列公式
F1為欲查詢之資料
作者:
dino1978
時間:
2012-1-12 07:14
回復
3#
register313
register313大大,
想請教一下
out = out & Cells(1, rng.Column) & Chr(10)
與
out = Cells(1, rng.Column) & Chr(10)
有什麼樣的不同?
out =
out &
Cells(1, rng.Column) & Chr(10)
這 一段我不太懂是什麼意思 再麻煩您抽空解答, 謝謝
作者:
register313
時間:
2012-1-12 08:12
回復
4#
dino1978
因本程式是放在FOR迴圈內(設有3次迴圈)
out = Cells(1, rng.Column) & Chr(10)
第1迴圈out之值 第1次儲存格之值+分行
第2迴圈out之值 第2次儲存格之值+分行
第3迴圈out之值 第3次儲存格之值+分行
最後輸出out之值 第3次儲存格之值+分行
out =
out
& Cells(1, rng.Column) & Chr(10)
第1迴圈out之值
空值
+第1次儲存格之值+分行
第2迴圈out之值
第1次儲存格之值+分行
+第2次儲存格之值+分行
第3迴圈out之值
第1次儲存格之值+分行+第2次儲存格之值+分行
+第3次儲存格之值+分行
最後輸出out之值 第1次儲存格之值+分行+第2次儲存格之值+分行+第3次儲存格之值+分行
作者:
dino1978
時間:
2012-1-14 14:22
回復
5#
register313
謝謝register313大大 明白了, 謝謝您詳盡的解說!!
作者:
GBKEE
時間:
2012-1-14 15:11
本帖最後由 GBKEE 於 2012-1-15 07:07 編輯
回復
2#
register313
出自何欄位 : 如尋找的值在一欄中出現數次會有誤差
Option Explicit
Sub Ex()
Dim MyText As String, Rng As Range, F_Address As String, TheFind As String
MyText = Trim(InputBox("請輸入要尋找的值:"))
If MyText <> "" Then
Set Rng = Range("A1").CurrentRegion.EntireColumn.Find(MyText, lookat:=xlWhole)
If Not Rng Is Nothing Then
F_Address = Rng.Address
Do
TheFind = IIf(TheFind = "", Rng.Address(0, 0), TheFind & " " & Rng.Address(0, 0))
Set Rng = Range("A1").CurrentRegion.EntireColumn.FindNext(Rng)
Loop Until F_Address = Rng.Address
End If
End If
If TheFind <> "" Then
MsgBox MyText & " 位於 : " & TheFind
Else
MsgBox "沒有找到 " & MyText
End If
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)