我寫了下面的代碼來查看地址列表。在地址線1(Add1)本身就是建築物號碼的情況下,它與地址線2(Add2)連接。例如:連接地址行 - 優化和最佳實踐
ADD1 「10」,ADD2 「貝克街」
變爲:
ADD1 「10貝克街」,ADD2 「」
Sub concatenateAddressLines()
Application.ScreenUpdating = False
Dim lastRowNumber As Long
lastRowNumber = ActiveSheet.UsedRange.Rows.Count
Dim currentRowNumber As Long
currentRowNumber = 0
Range("1:1").Find("Add1").Select
ActiveCell.Offset(RowOffset:=1).Activate
Do Until currentRowNumber = lastRowNumber - 1
If IsNumeric(ActiveCell.Value) Then
ActiveCell.Value = ActiveCell.Value & " " & ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(0, 1).Value = ""
ActiveCell.Offset(RowOffset:=1).Activate
currentRowNumber = currentRowNumber + 1
Else
ActiveCell.Offset(RowOffset:=1).Activate
currentRowNumber = currentRowNumber + 1
End If
Loop
End Sub
(地址第一行總是被命名爲Add1,但每個文件的實際列都在變化。)
我是新來的VBA,但我知道,我應該使用選擇和激活來避免。如果任何人都可以給我一些關於如何在最佳實踐和/或優化方面改進這些代碼的建議,我們將非常感激。
如果地址是221b,該怎麼辦? (好吧,你確實使用過貝克街,儘管我最好使用着名的門牌號碼)。這不會回到數字。 –