gpt4 book ai didi

excel - 无法使用列标题搜索和替换值

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

我正在尝试创建一个用于搜索 的 vba 脚本。 _ Crude Items 下的所有单元格中柱子。但是,当它找到一个时,它将从 中拆分值。 _ 并将其余的放在 Refined Ones 下的相应单元格中柱子。

我已经尝试过以下完美无瑕的工作,但我希望使用列标题搜索和替换值:

Sub CopyAndReplace()
Dim cel As Range

For Each cel In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).row)
If cel.value <> "" Then
Sheets("Sheet1").Range(cel(1, 3).Address) = Split(cel, "_")(1)
End If
Next cel
End Sub

为了让您可视化工作表的外观:

enter image description here

如何使用列标题搜索和替换值?

最佳答案

我不确定这是你所追求的,但有一些重要的提及......

在编写代码时,尽量始终使用至少一个工作表限定符。您的程序如何才能明确知道您希望它在哪里运行?

我稍微改变了你的过程,但同样,不确定这是否正是你所追求的。请参见下面的代码。

Sub SplitByHeader()

Dim i As Long
Dim crudeHeader As Range, refinedHeader As Range
Dim ws As Worksheet


'set ws
Set ws = ThisWorkbook.Sheets("Sheet1")

'set header ranges
Set crudeHeader = ws.Rows(1).Find(What:="Crude Items", LookAt:=xlWhole)
Set refinedHeader = ws.Rows(1).Find(What:="Refined Ones", LookAt:=xlWhole)

'simple error handler
If crudeHeader Is Nothing Or refinedHeader Is Nothing Then Exit Sub


For i = 2 To ws.Cells(ws.Rows.Count, crudeHeader.Column).End(xlUp).Row
If ws.Cells(i, crudeHeader.Column).Value <> "" Then
ws.Cells(i, refinedHeader.Column).Value = Split(ws.Cells(i, crudeHeader.Column).Value, "_")(1)
End If
Next i


End Sub

关于excel - 无法使用列标题搜索和替换值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57919664/

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