如何在一列中find一个短语,并将另一个短语输出到另一个单元格中

所以我试图组织我的账户。

我有几列:C是我的银行的每笔交易的信息,其中可能包含例如 “汽油”或“atm”或“paypal”这个词在许多其他关键短语中。

我想创build一个macros,通过列C,search'*贝宝',如果它发现它,放置在同一行的D列“贝宝”。

另一个例子 – 如果它发现“B / CARD PLAT VISA”C58,那么我想在D58中写上“信用卡付款”。

我试图解决这个问题,基于我发现/调整删除列的旧macros。

就像是:

Dim c As Range Dim SrchRng Set SrchRng = ActiveSheet.Range("C1", ActiveSheet.Range("C65536").End(xlUp)) Do Set c = SrchRng.Find("petrol", LookIn:=xlValues) If Not c Is Nothing Then //SOMETHING GOES HERE? Loop While Not c Is Nothing 

你可能会说,我不是很擅长这个。

我的最终目标是能够从这些标题中输出每个月/每年在每个类别中花费和挣得多less。 它应该让自雇人士的生活稍微容易些。

这应该会进一步帮助你:

 Sub OrganiseCategories() Dim FoundRange As Range, FirstAddress As String With Range("B:B") Set FoundRange = .Find("Paypal", , xlValues, xlWhole, , , False) FirstAddress = FoundRange.Address Do FoundRange.Offset(0, 1).Value2 = "PayPal" Set FoundRange = .FindNext(FoundRange) Loop While Not FoundRange Is Nothing And FoundRange.Address <> FirstAddress End With End Sub 

Ron de Bruin在此有一个很好的网页: http : //www.rondebruin.nl/win/s9/win006.htm

好! 所以在CoRrRan的帮助下,一些macros和一些谷歌的自我录制,我设法创造了我所需要的。

 Sub OrganiseCategories() Dim FoundRange As Range, FirstAddress As String, Searchterm As Variant, Searchresult As Variant Searchterm = InputBox("What term would you like to search for?") Searchresult = InputBox("What category would you like to set for this term?") With Range("C:C") Set FoundRange = .Find(What:=Searchterm, LookIn:=xlValues, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False) FirstAddress = FoundRange.Address Do FoundRange.Offset(0, 1).Value2 = Searchresult Set FoundRange = .FindNext(FoundRange) Loop While Not FoundRange Is Nothing And FoundRange.Address <> FirstAddress End With End Sub 

这给了我一个input框来input一个非精确的search词,和一个input框来select一个类别来放置search结果:比我每次想要做一个新的search更改代码更容易。 我可以创build多个“默认”search条件,如汽油,签证,贝宝等没有input框,作为一个单独的macros基地。