Microsoft Excel — есть ли способ разбить строки в нескольких столбцах на определенное количество строк?

Microsoft Excel — есть ли способ разбить строки в нескольких столбцах на определенное количество строк?

Так, например, я работаю с данными, которые относятся к различной информации для клиентов по всем столбцам, содержащим различные биты о них. И продолжаю с 1000 клиентов. Теперь мне нужно разбить строки на группы по 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

Хотя, поскольку там есть InputBox, то должна быть правильная обработка ошибок. Он вылетит, если в полях будет написано что-то странное (или вообще ничего).

Образец:

введите описание изображения здесь

Я также первым делом запустил это:

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

Чтобы настроить мой макрос на запуск при нажатии ALT + s

Конечно, можно еще больше расширить автоматизацию, заставив макрос найти 400, вырезать его на новом листе/книге, а затем продолжать работу с новыми листами, пока не закончатся данные.

Это немного более технично, но можно сделать за один-два цикла.

Связанный контент