如何使用VBA将3列合并到1个新列
我正在尝试合并3列,它们都有一个文本字符串 假设A列是这样的: 你好,你是哪里人 你好,你是哪里人 你好,你是哪里人 B栏: 彼得 妈妈 爸爸 C栏: DK 太平绅士 国标 我希望我在D列中的输出为: 嗨,彼得,你是丹麦人吗? 嗨,妈妈,你是JP公司的吗? 嗨,爸爸,你是英国人吗? 我自己的so费用代码是:如何使用VBA将3列合并到1个新列,vba,excel,Vba,Excel,我正在尝试合并3列,它们都有一个文本字符串 假设A列是这样的: 你好,你是哪里人 你好,你是哪里人 你好,你是哪里人 B栏: 彼得 妈妈 爸爸 C栏: DK 太平绅士 国标 我希望我在D列中的输出为: 嗨,彼得,你是丹麦人吗? 嗨,妈妈,你是JP公司的吗? 嗨,爸爸,你是英国人吗? 我自己的so费用代码是: Sub MergeColumns() Dim LR As Long Dim cell As Range, RNG As Range LR = Range(&quo
Sub MergeColumns()
Dim LR As Long
Dim cell As Range, RNG As Range
LR = Range("A" & Rows.Count).End(xlUp).Row
Set RNG = Range("A1:A" & LR)
For Each cell In RNG
cell.Offset(0, 4) = Left(cell.Value, 2) & Range(B1:B) & Mid(cell.Value, 4, 13) & Range(C1:C) & Right(cell.Value, 1)
Next cell
Range("C:C").Columns.AutoFit
End Sub
我有点认为错误在我的范围B1:B和范围C1:C,但我不知道如何插入我尝试使用Concatenate的列,但这只是把它搞砸了。我会在屏幕上使用一对
我会在地板上用一双鞋
前面的答案是一个很好的解决方案,您也可以这样做
Sub MergeColumns()
Dim LR As Long
Dim cell As Range, RNG As Range
LR = Range("A" & Rows.Count).End(xlUp).Row
Set RNG = Range("A1:A" & LR)
For Each cell In RNG
cell.Offset(0, 3) = Left(cell.Value, 2) & " " _
& cell.Offset(0, 1) & " " _
& Mid(cell.Value, 4, 13) & " " _
& cell.Offset(0, 2) & Right(cell.Value, 1)
Next cell
Range("C:C").Columns.AutoFit
End Sub
前面的答案是一个很好的解决方案,您也可以这样做
Sub MergeColumns()
Dim LR As Long
Dim cell As Range, RNG As Range
LR = Range("A" & Rows.Count).End(xlUp).Row
Set RNG = Range("A1:A" & LR)
For Each cell In RNG
cell.Offset(0, 3) = Left(cell.Value, 2) & " " _
& cell.Offset(0, 1) & " " _
& Mid(cell.Value, 4, 13) & " " _
& cell.Offset(0, 2) & Right(cell.Value, 1)
Next cell
Range("C:C").Columns.AutoFit
End Sub