Срочно нужна помощь! Нужно в excel вставить запятые в ячейки

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
BiZO
Сообщения: 2
Зарегистрирован: 08 дек 2004, 18:27

В общем есть таблицы с числами типа:
-----------------------
1234 | 3456 | 8758|
----------------------
6567|44421|0 |
-----------------------

Блин, несколько сотен таблиц вручную набивал с бумажных листочков,
а оказалось, что надо последнюю цифру отделить запятой вот так :

-----------------------
123,4 | 345,6 | 875,8|
----------------------
656,7|4442,1|0 |
-----------------------

Как сделать макрос, чтоб на выделенных ячейках запятые проставлялись

Завтра отдавать работу надо!!! помогите!!!
pashulka
Сообщения: 831
Зарегистрирован: 24 ноя 2004, 03:46
Контактная информация:

Вот набросал на скорую руку, должен произвести нужную Вам замену в выделенном диапазоне.

Sub ReplaceComma()

Dim iCell As Range
Dim iData As Double

For Each iCell In Selection

iData = iCell.Value

If Not IsEmpty(iData) And IsNumeric(iData) = True Then
If iData <> 0 Then

iLen = Len(iCell)

If iLen = 1 Then
iLeft = 0
iRight = Right(iCell, 1)
ElseIf iLen > 1 Then
iLeft = Left(iCell, iLen - 1)
iRight = Right(iCell, 1)
Else

End If

iData = iLeft & "," & iRight

iCell.Value = iData

End If
End If

Next

End Sub
uhm57
Сообщения: 5
Зарегистрирован: 09 дек 2004, 10:46

Можно ж гораздо проще 8)

Код: Выделить всё

Sub ReplaceComma() 

Dim iCell As Range 

For Each iCell In Selection 

iData = iCell.Value 

If Not IsEmpty(iData) And IsNumeric(iData) = True Then iCell.Value=iCell.Value/10

Next iCell

End Sub

Дополнение: Если однозначное число ("5", например) действительно обозначает "5", а не "0,5", то нужно еще добавить проверку Abs(iData)>9.
pashulka
Сообщения: 831
Зарегистрирован: 24 ноя 2004, 03:46
Контактная информация:

При таком раскладе можно просто разделить все числа на 10 стандартными средствами MS Excel.

P.S. Уменьшить чужой код всегда легче, чем написать свой.
BiZO
Сообщения: 2
Зарегистрирован: 08 дек 2004, 18:27

Спасибо за помощь, вы мне очень помогли!
Ответить