在复制数据的同时连接数据

我正在处理一个大的数据集。 我正在尝试修剪数据。

感谢在上看到的stackoverflow我能够修改一些代码,以适应我的需要差不多。

Sub CopyData() Dim sourceColumn As Range, targetColumn As Range Set sourceColumn = Workbooks("Parcels Data.xlsm").Worksheets("Parcels").Columns("A") Set targetColumn = Workbooks("Parcel Data for NSDB.xlsm").Worksheets("Imported").Columns("A") sourceColumn.Copy Destination:=targetColumn Set sourceColumn = Workbooks("Parcels Data.xlsm").Worksheets("Parcels").Columns("B") Set targetColumn = Workbooks("Parcel Data for NSDB.xlsm").Worksheets("Imported").Columns("B") sourceColumn.Copy Destination:=targetColumn End Sub 

这导入我需要的东西。

我需要连接列B和C以及值之间的空格。 这个新文件将被用于导入到其他数据库,所以我需要在一个特定的格式。

我一直想弄清楚如何在使用Range.Copy时使用'&'。 我不能只用'&',因为它不是一个string,因为我正在处理范围。 是否可以在复制数据的同一时间点连接?

 Sub CopyData() Dim source, dest, i& With Workbooks("Parcels Data.xlsm").Worksheets("Parcels") source = Range(.Range("A1"), .Cells(.Rows.Count, 2)).Value End With ReDim dest(1 To UBound(source), 1 To 1) For i = 1 To UBound(dest) dest(i,1) = source(i, 1) & " " & source(i, 2) Next With Workbooks("Parcel Data for NSDB.xlsm").Worksheets("Imported") Range(.Range("A1"), .Cells(UBound(dest), 1)) = dest End With End Sub 

你需要使用循环,你不能一次执行整个范围。 这应该让你开始:

 Sub Concat() Dim lRow As Long lRow = Range("B" & Rows.count).End(xlUp).Row For i = 2 To lRow Range("C" & i) = Range("A"& i) & " " & Range("B" & i) Next i End Sub