gpt4 book ai didi

excel - VBA宏在新列中连接2列

转载 作者:行者123 更新时间:2023-12-04 22:12:40 24 4
gpt4 key购买 nike

我想创建一个宏,插入带有列名(BL & Container)的新列,然后在新插入的列中连接 2 列。
在本专栏中,我命名为 BL & Container 是添加了我的宏的新专栏。
此外,我希望宏连接列 H 和 F 中存在的值宏应该通过列名找到列 H 和 F 并将它们连接到新插入的列 I 中。
我的代码如下

Sub insert_conc()

Dim ColHe As Range
Dim FindCol As Range
Dim con As String
Dim x As Long


Set FindCol = Range("1:1") 'Looks in entire first row.
Set ColHe = FindCol.Find(what:="BL/AWB/PRO", After:=Cells(1, 1))

With ActiveWorkbook.Worksheets("WE")

ColHe.Offset(0, 1).EntireColumn.Insert
ColHe.Offset(0, 1).Value = "WER"
'x = Range("A" & Rows.Count).End(xlUp).Row
con = "=H2&""-""&F2"
ColHe.Resize(x - 1).Formula = con

End With

Application.ScreenUpdating = True


End Sub
[![代码错误][3]][3]
在此代码行“con =”=H2&“”-““&F2””请告知我如何更新列名而不是 H2 和 F2 宏应该找到 columna H2 和 F2 标题名称,然后连接新插入的列中的值 I BL & 容器。请指教。

最佳答案

请使用下一个改编代码:

Sub insert_conc()
Dim sh As Worksheet, x As Long, ColHe As Range
Dim FindCol As Range, con As String, firstCell As Range

Set sh = Worksheets("LCL")
x = sh.Range("A" & sh.rows.count).End(xlUp).row

Set FindCol = sh.Range("1:1") 'Looks in entire first row.
Set ColHe = FindCol.Find(what:="BL/AWB/PRO", After:=sh.cells(1, 1))

ColHe.Offset(0, 1).EntireColumn.Insert
ColHe.Offset(0, 1).value = "BL & Container"
Set firstCell = ColHe.Offset(1, -2) ' determine the cell to replace F2

con = "=" & ColHe.Offset(1).Address(0, 0) & "&" & firstCell.Address(0, 0)
ColHe.Offset(1, 1).Resize(x - 1).Formula = con
End Sub
也很高兴知道使用 With ActiveWorkbook.Worksheets("LCL")只有在直到 End with 的代码行中使用它才有意义.而你的代码并没有这样做......它应该在之前使用,以便处理适当的工作表, 即使它不是活跃的 .

关于excel - VBA宏在新列中连接2列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71776602/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com