我在第1列和第2列(01到99)中列出了2位邮政编码的详尽清单。我想创建一个第三列,它将包含两位数邮政编码的每个成对组合。因此,我的数据看起来像这样,其中第3列包含第1列和第2列(9801行)的每个成对组合。
col1 col2 col3
01 01 01 to 01
02 02 02 to 02
03 03 03 to 03
04 04 04 to 04
05 05 05 to 05
06 06 06 to 06
. . .
. . .
99 99 99 to 99
有没有办法将它编码成一个简单的vba脚本?
答案 0 :(得分:1)
与您的任务相关,您可以使用以下Excel VBA代码段:
Sub ColumnConcatenation()
Dim i As Long, j As Long
Const max = 99
Application.ScreenUpdating = False
For i = 1 To max
For j = 1 To max
Range("C" & (i - 1) * max + j) = Range("A" & i) & " to " & Range("B" & j)
Next j
Next i
Application.ScreenUpdating = True
End Sub
希望这可能会有所帮助。
答案 1 :(得分:0)
我几乎没有VBA经验,但这比我原先想象的更容易理解。
Sub pairwise()
Dim x As Integer
Dim x2 As Integer
Dim x3 As Double
x3 = 1
For x = 1 To 99
For x2 = 1 To 99
Cells(x3, 5) = Cells(x, 1)
Cells(x3, 6) = Cells(x2, 2)
x3 = x3 + 1
Next
Next
End Sub
这会创建2列,然后我可以通过粘贴=E1&" to "&F1
中的公式G1:G9801
来连接。如果有一种更优雅的方式,我很乐意接受这个作为答案。