2012-05-03 57 views
1

問題: 我想找到單元格的值或單元格內容下面的值作爲工作簿的文本值。使用VBA在Excel中搜索單元格

例: 在Sheet2中,我有兩個單元站隨機的(假設其指數是未知的,總不是一個定義名稱)

enter image description here

我要搜索的值「200」代表旁邊的總數,並把它放在表2(一個活動單元格)。如果有多個單元格包含單詞「總計」列表中的所有這些,並且如果可能,請將包含我正在查找的單元格的工作表的名稱。值200 Sheet 2中

enter image description here

我的方法: 1.用戶輸入

enter image description here

  • 轉到每個小區和搜索它。如果在Excel中搜索單元格的整個限制,這將需要時間。因此,搜索僅限於100列x 10000行。

  • 找到它的指數,偏移1列來獲取值

  • 結果寫ActiveCell.Value = Search_Value後。然後繼續搜索其餘的表單。 1周偏移明杆和1行寫的第二個值...

  • 搜索是一個非常困難的概念,我真的不知道該怎麼做搜索的一部分。請幫助

    +0

    看看這個鏈接對您有幫助嗎? http://siddharthrout.wordpress.com/2011/07/14/find-and-findnext-in-excel-vba/ –

    回答

    3
    With Worksheets(1).Range("a1:a500") 
        counter=0 
        Set c = .Find("Total", lookin:=xlValues) 
        If Not c Is Nothing Then 
         firstAddress = c.Address 
         Do 
          counter=counter+1 
          Worksheets(2).range("A1").offset(counter,0)=c.offset(0,1) 
          Set c = .FindNext(c) 
         Loop While Not c Is Nothing And c.Address <> firstAddress 
        End If 
    End With 
    

    firstaddress持有找到的第一個單元格的位置(所以我們知道什麼時候停止); firstaddress.offset(0,1)會給你想要保存的值,所以設置工作表(2).range(「a1」)。offset(counter,0)將列出它找到的所有值在第二個選項卡上,從a1下降到儘可能多的發現範圍

    +0

    對不起,遲到了,我一直沒有能夠實現這一點。不過,我會在午餐時間嘗試明天。 – NCC

    +0

    我會弄清楚我的實現有什麼問題。仍在學習過程中。無論如何,非常感謝你的幫助。 – NCC

    +0

    當它運行到工作表(2)時,出現錯誤「編譯錯誤:子或功能未定義」http://i48.tinypic.com/286qr9u.jpg – NCC