试图在另一列中填写州名
我目前有一个电子表格,其中包含A列中所有城市的名称,如下所示:
Dallas, TX New York, NY Miami, FL
我想要做的是从第一列中提取状态并将它们放在B列中。
我目前的尝试是这样的:
Sub StateFill() Dim x As Long For x = 1 To 65536 If InStr(1, Sheet1.Range("$A$" & x), ", AL") Then Sheet1.Range("$B$" & x) = Sheet1.Range("$B$" & x) & "AL" End If Next For x = 1 To 65536 If InStr(1, Sheet1_metro.Range("$A$" & x), ", AK") Then Sheet1.Range("$B$" & x) = Sheet1.Range("$B$" & x) & "AK" End If Next ... For x = 1 To 65536 If InStr(1, Sheet1.Range("$A$" & x), ", WY") Then Sheet1.Range("$B$" & x) = Sheet1.Range("$B$" & x) & "WY" End If Next End Sub
我得到错误“运行时错误424:对象需要”,不知道发生了什么问题。 任何帮助,将不胜感激!
这个:
Sheet1_metro.Range
没有在子中定义。
这是另一种方法:
Sub StateFill() Dim x As Long, N As Long With Sheet1 N = .Cells(Rows.Count, 1).End(xlUp).Row For x = 1 To N If Right(.Range("$A$" & x), 4) Like ", [AZ][AZ]" Then .Range("$B$" & x) = .Range("$B$" & x) & Right(.Range("$A$" & x), 2) End If Next End With End Sub
我会去如下:
Sub main() With Sheet1 With .Range("A1", .Cells(.Rows.Count, 1).End(xlUp)) .Offset(,1).Value = .Value .Offset(,1).Replace What:="*, ", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False End With End With End Sub