gpt4 book ai didi

string - 如何根据行标题替换单元格的内容?

转载 作者:行者123 更新时间:2023-12-04 20:18:27 26 4
gpt4 key购买 nike

我需要在第 1 行(a1 到 dv1)中的每个单元格中搜索“doc1”在该行的后续单元格中后跟“doc2”的实例。然后我需要将包含“doc1”的单元格下方的单元格中的内容与包含“doc2”的单元格下方的单元格中的内容连接起来,用逗号分隔,并替换单元格中的文本在包含“doc1”的单元格下方。

因此,例如,如果 a1 有“doc1”,b1 有“doc2”,a2 有“7”,b2 有“8”,那么我需要将 a2 替换为“7, 8”。

任何帮助将不胜感激。

谢谢,
艾米

最佳答案

这是 VBA 中的一个解决方案 - 您可以将其复制并粘贴到 VBA 的新模块中(首先备份您的电子表格),然后运行它(使用 F5)。要快速进入 VBA,请使用 alt-F11。我在代码中留下了我的 MSGBOX 语句被注释掉了。此外,代码一直运行到 DW1,因此它可以完成 DV1。

Option Explicit

Sub Doc1_Doc2_Merge()

Dim CurrCol As Integer
Dim CurrRow As Integer
Dim NewValue As String
Dim EndCol As String

For CurrRow = 1 To 50 Step 2 '(assume 50 rows - skip 2 lines each time)
CurrCol = 1

EndCol = "$DW$" & Trim(Str(CurrRow))
While Cells(CurrRow, CurrCol).Address <> EndCol

'MsgBox Cells(CurrRow, CurrCol).Address & " " & Cells(CurrRow, CurrCol).Value

If InStr(Cells(CurrRow, CurrCol).Value, "doc1") > 0 Then
' look at next cell
If InStr(Cells(CurrRow, CurrCol + 1).Value, "doc2") > 0 Then
If Trim(Cells(CurrRow + 1, CurrCol + 1).Value) <> "" Then
NewValue = Cells(CurrRow + 1, CurrCol).Value & "," & Cells(CurrRow + 1, CurrCol + 1)
'MsgBox "New Value is " & NewValue
Cells(CurrRow + 1, CurrCol).Value = NewValue
End If
End If

End If

CurrCol = CurrCol + 1
Wend
Next CurrRow

End Sub

以下是测试结果:
enter image description here

关于string - 如何根据行标题替换单元格的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15077207/

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