Microsoft Excel - 有没有办法按一定数量的行拆分多列中的行?

Microsoft Excel - 有没有办法按一定数量的行拆分多列中的行?

例如,我正在处理包含客户各种信息的列数据。 并继续处理 1,000 名客户的数据。现在我需要将行分成 400 个组,并将它们分配到新的电子表格中,以便我可以将它们上传到短信软件,以便发送更新和其他活动。 Name | email| Phone Guy [email protected] 50230

有没有有效的方法可以解决这个问题?通常我会手动操作,向下滚动直到达到 400,然后选择其余列。但这往往相当耗时。有什么建议吗?

答案1

除非已经有一个由空白等标记的 400 个不同组,否则我认为很难找到用于此特定任务的内置函数。
但是,您可以使用宏来创建自己的函数。

因此,如果我正确理解了您的示例,则选择一个单元格,然后向下移动 400 行,然后选择所有行以及另外两列。在宏中执行此操作的最简单方法应该是这样的:

Sub select400()
selection.Resize(400, 3).Select
End Sub

然后,您可以通过转到宏窗口和选项,或借助另一个宏为该宏分配快捷方式。

但是如果你不想要固定数量的行或列怎么办?
那么你可以用输入框和变量替换绝对值,如下所示:

Sub select400()
Dim inpRows As Long, inpColumns As Long
inpRows = InputBox("How many rows to select?")
inpColumns = InputBox("How many columns to select?")
selection.Resize(inpRows, inpColumns).Select
End Sub

虽然它有输入框,但它应该有适当的错误处理。如果在框中输入任何奇怪的内容(或什么都没有),它就会崩溃。

样本:

在此处输入图片描述

我也首先运行了这个:

Sub setShortcut()
Application.OnKey "%{s}", "select400"
End Sub

将我的宏设置为在按下 ALT + s 时运行

您当然可以通过让宏查找 400、切入新的工作表/工作簿,然后继续使用新工作表直到数据用完来进一步扩展自动化。

它有点技术性,但可以用一两个循环来完成。

相关内容