2013-11-14 3 views
0

При записи макроса я хочу изменить текущее значение ячейки на новое значение, зависящее от исходного значения. не устанавливайте его на «записанное» значение.excel macro: изменить значение ячейки в зависимости от исходного значения ячейки

Пример: значение в ячейке должно изменяться с .1234 (текст) до 0,1234 (номер). И 0,56789 до 0,56789

Мой метод работы:

record macro 
"F2" : to change value, 
"home" : go to beginning, 
"del", 
"del", 
"0", 
",", 
"return", 
stop record macro 

но когда я использую макрос на других полях, значение меняется на 0,1234, даже если исходное значение 0,5678 для пример.

ответ

1

Это можно сделать в VBA, но самое простое решение (если все ваши значения начинаются с ".") - использовать встроенную опцию Excel «Текст в столбцы» (просто выбрав весь столбец, затем ALT + A , + E, + F). Если это нужно сделать с помощью VBA, скажите, пожалуйста. Надеюсь, что это само по себе помогает.

Редактировать Я написал этот код, чтобы решить вашу проблему (на основе правила значения ячейки начинаются с «.», А затем переключение на числа производится путем добавления «0» к исходному тексту) , Затем формат «число» подбирается Excel как неявный формат.

Sub ChangeFormat() 
For i = 1 To 2 'This is the row index (it's now set to the 1st 2 rows.) 
    For j = 1 To 2 'This is the column Index (i.e. column 2 is B, 1 is A, etc.) (it's now set to the A and B columns) 
     If Left(ActiveSheet.Cells(i, j), 1) = "." Then 
      ActiveSheet.Cells(i, j).Value = "0" & ActiveSheet.Cells(i, j).Value 
     End If 
    Next j 
Next i 
End Sub 
+0

Это должно быть автоматизировано. Конечные результаты будут иметь несколько карт, в которых я копирую значения (.0123), которые необходимо изменить. Пока я могу использовать ваше решение, но это может быть лучше. –

+0

ATM Я не могу понять, как использовать ваше решение. Поскольку это необходимо сделать в том же столбце, и вашему решению требуется 2 столбца –

+0

, вы не должны полностью разорвать текст (особенно на основе символа «.»), Поэтому вы проверяете ограниченную (не фиксированную ширину), тогда сохраните разделитель «tab» (нет) и в формате данных столбца отметьте «Общее». Также проверьте, что пункт назначения - тот же столбец, расположенный ниже общих меток (обычно это неявно), а затем «Готово». ALT + A, + E, + F использует неявный вариант текста для столбцов, и если у вас нет вкладок в ячейках столбцов, он не будет заполнять какой-либо другой столбец. – Takedasama

Смежные вопросы