我有一個街道名稱和地址列表。現在我想查看地址欄中是否有與街道名稱中的值相匹配的值,然後返回街道名稱。搜索範圍內的文本,如果匹配,返回匹配值
回答
假設地址是A1:
For AddressRow = FirstRow To LastRow
address = Cells(AddressRow,1)
For StreetRow = FirstRow To LastRow
If "*" & Cells(StreetRow,3) & "*" Like address Then MsgBox Cells(StreetRow,3)
Next
Next
我希望你能定義FIRSTROW的LASTROW和知道你要的是現在去一個消息輸出。
它不起作用。我認爲問題與&「*」......... – 2015-04-03 17:05:41
我總是混淆他們,讓我知道如果'地址喜歡「*」&細胞(StreetRow,3)和「*」'工程。星號非常重要,它們表示它是一個子字符串。你可以使用等效的'InStr()'函數。 – user3819867 2015-04-04 22:03:21
順便說一下,「*」是通配符,表示任何字符;我已經成功地將它用於SQL查詢,Excel和Access VBA宏(確切的說是決策樹)。 – user3819867 2015-04-05 10:25:46
假設地址列是A
Street_name列是C
。此代碼不是最優雅的,但工作。
Private Sub DoTheJob()
Dim intRowStreetName As Integer
Dim intRowAdress As Integer
intRowStreetName = 1
intRowAdress = 1
strPartOfStreetName = "nguyen"
With Worksheets("Sheet1")
Do While .Cells(intRowStreetName, 3).Value <> Empty
intRowAdress = 1
If InStr(1, .Cells(intRowStreetName, 3).Value, strPartOfStreetName, vbTextCompare) > 0 Then
Do While .Cells(intRowAdress, 1).Value <> Empty
If InStr(1, .Cells(intRowAdress, 1).Value, .Cells(intRowStreetName, 3).Value, vbTextCompare) > 0 Then
.Cells(intRowAdress, 2).Value = .Cells(intRowStreetName, 3).Value
End If
intRowAdress = intRowAdress + 1
Loop
End If
intRowStreetName = intRowStreetName + 1
Loop
End With
End Sub
感謝kitap mitap,它對我來說就像一個魅力,現在,沒有必要使用strPartOfStreetName。非常感謝!我是VBA的開始,這對我很有用。 – 2015-04-03 16:20:51
- 1. Excel索引匹配日期範圍和回報匹配總數
- 2. 在一個範圍內的匹配值
- 3. 如果多行匹配,MySQL全文搜索返回0
- 4. MarkLogic文本搜索:返回基於匹配內部屬性的結果
- 5. MongoDB價值匹配範圍
- 6. 將文本匹配到命名範圍並返回命名範圍大致匹配
- 7. 使用匹配器來匹配範圍內的所有內容?
- 8. 將輸入值與範圍內的文本進行匹配
- 9. 從搜索查詢返回匹配詞
- 10. 搜索多列返回最匹配
- 11. 如果值匹配返回true
- 12. VBA嵌套如果/範圍匹配
- 13. 如果在範圍內有2個匹配項,在word文檔中找到匹配範圍
- 14. 返回匹配的索引值
- 15. Excel - 搜索匹配值
- 16. 搜索數組值匹配
- 17. 範圍查詢通過匹配查詢在彈性搜索返回的分數
- 18. 日期範圍的索引/匹配
- 19. Bolden匹配的搜索文本
- 20. 索引/匹配返回多個值
- 21. 搜索並返回與組中的搜索匹配的行
- 22. Excel計數在每個匹配值的範圍內搜索爲真
- 23. 圓形範圍內的匹配日期
- 24. 只返回匹配所有字段的搜索結果
- 25. sed中的匹配範圍
- 26. 搜索在哈希數組匹配鍵值對,如果找到匹配返回true
- 27. XSL返回值不匹配
- 28. InArray返回-1,匹配值
- 29. 模式匹配「返回」值
- 30. 匹配行值返回DF2
如果一個單元格包含整個地址作爲字符串如何知道該字符串的哪個部分是街道名稱,如果沒有分隔符或者是否有另一個街道名稱列表。 – 2015-04-03 10:40:07
街道名稱是標準清單作爲來源進行比較。 – 2015-04-03 10:57:00
我認爲我的問題類似於http://stackoverflow.com/questions/18937704/lookup-a-value-from-database-and-get-the-list-of-matching-values-to-another-shee? rq = 1 – 2015-04-03 11:01:08