現在我花了幾天的搜索上下尋找解決方案。基於包含關鍵字的文本字符串的Excel /分類宏(公式)
我看到兩個線程,但這兩個線程都不是我正在尋找的內容,我承認,在VBA中不太好,我不能製作頭像或故事。
我有: 我有4300行的銀行對賬單。有多列,但1是重要的 - 說明。這個描述可能包含很多東西,但通常有1個關鍵詞是關鍵的。大約96%可以自動化,3-4%只需手動寫入。
我想要什麼:
VBA宏將讀取列說明,將許多這樣的在Sheet2的名單有匹配的關鍵字,列的「關鍵詞」,然後在列類別寫(Sheet1中)的從Sheet2上的列類別中分配分類。
我迄今所做的:
我發現是爲我工作,並能夠用一個公式來居然重現的唯一的事情:
=IF(ISNUMBER(SEARCH("KEYWORD",[Description])),"OUTPUT","")
上述公式重複多但這會減慢並落後於一切。除了難以處理。
它的工作,但我需要更好的東西。所以 - >輸入宏。在這裏我迷路了。
我發現@JohnBustos的答案在這裏非常好: How to group excel items based on custom rules? 但我不是真的在爲我工作。
我發現Tomk Dallimore的答案是什麼,我需要或想要的: Categorizing bank transactions in Excel
,但我不能讓元首或故事到那裏怎麼走???他非常詳細,但我迷失在瞭解你的偉大複雜性上。
你能幫我嗎?
我附上一個非常簡單的例子,我正在說什麼。
注#1 我founnd一個新的公式,我併入。 「= IFERROR(LOOKUP(10^10,SEARCH( 「 」& KeywordTable [在關鍵字] &「」, 「 」& H29 &「 」),KeywordTable [OUT-關鍵字]),「」)
但是,這也會影響CPU,因爲每次移動單元時都會計算它。我想如果我添加560個新行或者更好的話,它會拋出異常,然後用1個採樣移動表。臨時解決方案,但需要更復雜的東西。
*****可能是一個可怕的想法**** 爲了加快宏,宏等你在你的答案中提供的一個,是有可能使它像自動日期填料宏觀調控工作: 私人小組Worksheet_Change(ByVal目標爲Excel。範圍)
With Target
If .Count > 1 Then Exit Sub
If Not Intersect(Range("B2:B100"), .Cells) Is Nothing Then
Application.EnableEvents = False
If IsEmpty(.Value) Then
.Offset(0, 3).ClearContents
Else
With .Offset(0, 3)
.NumberFormat = "dd mmm yyyy hh:mm:ss"
.Value = Now
End With
End If
Application.EnableEvents = True
End If
End With
End Sub
當然,我知道我要求的東西很奇怪,但如果這種情況發生,將是相當快的,非常有幫助的optimzing在其宏的執行速度大量的數據。現在,我有4500行來計算。在2個月內,這一數額將翻番。
我想我做錯了什麼。或者,也許我解釋得很糟糕。我輸入了代碼,但是它使得招募兵超出範圍。 – Nallatheryth
我已經從您的雲中下載了您的excel文件,並且完美地工作。請確保您的工作表名稱,這種情況是Sheet1和模式 – manu
您是否將代碼放在模塊中? – manu