【发布时间】:2018-11-25 09:53:42
【问题描述】:
所以,我一直在摸索几个小时,试图弄清楚这一点。无论我在哪里看和做什么,我似乎都无法让它发挥作用。
我有一个大约 20 列和完全可变的行数的 excel 文档。我想将定义宽度(列 A:V)内的每个相邻单元格连接到第一个单元格(第一行为 A1),然后移动到下一行并执行相同操作,直到我到达底部。以下片段:
Example before and after I'm trying to make
我有执行连接的代码。为了使其工作,我必须选择要连接的单元格(A1:V1),然后执行代码。即使某些单元格是空白的,我也需要代码以这种方式处理它们并将分号留在那里。代码完全按照我的需要工作,所以我一直在尝试将它包装在某种范围选择、偏移、循环中:
Dim c As Range
Dim txt As String
For Each c In Selection
txt = txt & c.Value & ";"
Next c
Selection.ClearContents
txt = Left(txt, Len(txt) - 2)
Selection(1).Value = txt
我正在努力选择 A1:V1,运行代码,然后将其循环到 A2:V1、A3:V3 等。我认为这可以通过循环和偏移量来完成,但是我无法为我的生活弄清楚如何。
任何帮助将不胜感激:)
【问题讨论】:
-
使其成为您提供范围的用户定义函数。
-
另外,如果您有 Office 365 Excel,请使用 TEXTJOIN 函数
-
我将它作为许多其他 VBA 代码的一部分运行,所以我真的不想使用涉及手动输入文档的函数。除非我完全误解了你们每个人的建议。