Измените значение столбца с кодом VBA, а не цикл - PullRequest
0 голосов
/ 24 мая 2019

Я хочу добавить "#" перед каждой ячейкой в ​​столбце (иметь более 13000 ячеек) и добавить "000" в другой столбец с помощью кода VBA Excel.Я могу добиться этого с помощью цикла, но это занимает много времени при запуске макроса.Может ли кто-нибудь помочь мне с более эффективными решениями?

for each cell in column
  cell = "#"& cell
  next cell

for each cell in column
   select case len(cell)
     case 2: cell = "'000" & cell
     case 3: cell = "'00" & cell
   end select

next cell

Желаемый результат:

456 => # 456

10 => 00010

однако он работает очень медленно.

1 Ответ

2 голосов
/ 24 мая 2019

Использовать формат отображения:

Range("A1:A1300").NumberFormat = "\##"
Range("B1:B1300").NumberFormat = "00000"

Это не меняет базовое значение, но будет отображаться правильно.

Для считывания значения используйте Cell.Text, чтобы получить строку сведущие нули.

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