例如,我正在处理包含客户各种信息的列数据。 并继续处理 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、切入新的工作表/工作簿,然后继续使用新工作表直到数据用完来进一步扩展自动化。
它有点技术性,但可以用一两个循环来完成。