【发布时间】:2013-01-09 20:19:25
【问题描述】:
我目前正在处理一个问题,即我有一个 Excel 电子表格,我想在其上使用 VBA 宏。以下 3 行中的每一行都是连续的。
Name of Data
abc A1 B2 B4 C4 E2 F43 d4 V8 f9 k11 j20 … x
cde A2 B3 B12 C6 E9 F34 d6 V4 f13 k111 j209 … x
efg A3 B5 B7 C8 E11 F68 d19 V12 f91 k114 j2014 … x
…
Desired
abc A1 B2 B4 C4 E2 F43 d4 V8
abc f9 k11 j20 …
cde A2 B3 B12 C6 E9 F34 d6 V4
cde f13 k111 j209 …
efg A3 B5 B7 C8 E11 F68 d19 V12
efg f91 k114 j2014 …
我有每一行的数据名称,有些行可能是数百个条目,跨越数百列。 所以我想做的是让我的行长停止在 8 列宽。我希望宏可以检查每一行以查看长度是否大于8,插入具有相同数据名称的行并粘贴接下来的8列,从总列中减去并粘贴下一行,直到它已到达第一个长行的末尾,并继续检查所有行。从本质上讲,它节省了大量时间,从计算 8 列宽、剪切并粘贴到下面插入的行中,保留所有其他数据。我是新手,所以宏或 VBA 帮助很多赞赏。
谢谢, 约翰
【问题讨论】:
-
What have you tried? 这里的期望是您向我们展示不适合您的代码,我们会帮助您。
-
每条数据是在自己的列中,还是真的很长的字符串存储在一列中?
-
嗨,Scott,我丢失了我正在处理的确切代码,但我试图单独操作每个包含超过 8 行宽的代码。
-
在手动操作时尝试使用宏记录器,然后通过每一行
Loop并使用Column Counts进行测试。发布您遇到困难的地方,我们可以提供帮助。 -
@Scott Holtzman,丢失了我正在处理的确切代码,但我试图单独操作每个包含超过 8 行宽的代码。我试图在我的代码中使用的公式是 =INDEX (("row specified) -1 *8 - (columns)-1)。这也是伪代码,因为我丢失了我正在使用的确切代码。我希望在宏中使用它,然后通过检查电子表格中的每一行来添加功能。是的@Sam,每条数据都在自己的列中。这会让事情变得更容易吗?