VBA заменить все в листе, кроме первых строк - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть рабочий скрипт VBA, который в настоящее время заменяет все точки запятыми (опубликовано ниже).Однако я бы не использовал первые две строки в сценарии и изменил бы все остальное.Каков был бы лучший и самый простой способ сделать это?Я нашел только те решения, в которых нужно установить диапазон, но я хочу, чтобы он работал для всех листов Excel независимо от количества строк или столбцов.

Sheets("Sheet1").Select
Cells.Replace what:=".", Replacement:=",", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018
set wsCSV = ... (your csv worksheet)
set rng = wsCSV.UsedRange
set ws = ... (your worksheet)
ws.UsedRange.Offset(1).ClearContents()
ws.Range("A2").Resize(rng.Rows.Count, rng.Columns.Count).Values = rng.Values
0 голосов
/ 29 ноября 2018

Вы все еще можете использовать диапазон, но генерировать его динамически: используйте макро-рекордер и посмотрите, что он дает, если вы выделите все ячейки с помощью кнопки «Выделить все» в верхнем левом углу, затем удерживайте нажатой клавишу CTRL и отмените выбор, щелкнув строкуheaders.
После выбора диапазона вы можете использовать Application.Selection вместо Cells.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...