gpt4 book ai didi

excel - 合并单元格范围偏移到目标

转载 作者:行者123 更新时间:2023-12-04 21:48:13 25 4
gpt4 key购买 nike

我有一个工作表,其中 Appt Note 文本很长。我需要将它放在一排九个合并单元格中。

我正在尝试检查 A 列中所有单元格的值“Appt Note:”,然后将其右侧的九个单元格合并,以便我的所有数据都以可查看的格式显示。

我在网上查了很多帖子,但无法将我的特定代码放在一起。我已经构建了它,但合并除外。

Sub MergeTest()
Dim cel As Range
Dim WS As Worksheet

For Each WS In Worksheets
For Each cel In WS.Range("$A1:$A15")
If InStr(1, cel.Value, "Appt Note:") > 0 Then Range(cel.Offset(1, 9)).Merge
Next
Next
End Sub

最佳答案

根据我的评论,特此提供 Range.Find 的样本在这种情况下,我假设 "Appt Note:"每张纸只存在一次:

Sub Test()

Dim ws As Worksheet
Dim cl As Range

For Each ws In ThisWorkbook.Worksheets
Set cl = ws.Range("A:A").Find(What:="Appt Note:", Lookat:=xlPart)
If Not cl Is Nothing Then
cl.Offset(0, 1).Resize(1, 9).Merge
End If
Next

End Sub

注:合并单元格是 VBA 最糟糕的噩梦!尽量远离他们。也许你可以让文本溢出?

编辑:如果您的值可能存在多次,请使用 Range.FindNext :
Sub Test()

Dim ws As Worksheet
Dim cl As Range
Dim rw As Long

For Each ws In ThisWorkbook.Worksheets
Set cl = ws.Range("A:A").Find(What:="Appt Note:", Lookat:=xlPart)
If Not cl Is Nothing Then
rw = cl.Row
Do
cl.Offset(0, 1).Resize(1, 9).Merge
Set cl = ws.Range("A:A").FindNext(cl)
If cl Is Nothing Then
GoTo DoneFinding
End If
Loop While cl.Row <> rw
End If
DoneFinding:
Next

End Sub

关于excel - 合并单元格范围偏移到目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59690024/

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