Отец попросил помочь по Exel
Создана: 18 Июля 2012 Срд 11:53:11.
Раздел: "Нужна помощь"
Сообщений в теме: 96, просмотров: 6418
-
а я в нём плаваю
Суть задачи
Есть в Excel 1 столбец.
Содержание ячейки – цифры и буквы.
Всегда начинается не с буквы.
«Стандартный» вариант – цифры, буквы, цифры , черточки – пример - 12 Бг1, 2 Пц 48, 3Аз11, 7-Вл -2 и тд.
Необходимо, идя слева направо – перед первой буквой «вставить» черточку, после последней буквы «вставить» черточку (несмотря на то, что идет ПЕРЕД ПЕРВОЙ БУКВОЙ и что идет ПОСЛЕ последней буквы). Между буквами нет пробелов. -
Sub Макрос1()
'
' Макрос1 Макрос
'
'
Range("A1").Select
Dim i As Integer
Dim k As Integer
Dim j As Integer
Dim f As Integer
Dim l As Integer
i = 1
While (Cells(i, 1) <> "") And (i < 25000)
Cells(i, 1).Select
Cells(i, 1) = LTrim(Cells(i, 1))
Cells(i, 1) = RTrim(Cells(i, 1))
j = Len(Cells(i, 1))
f = 0
l = 0
For k = 1 To j
If (f = 0) And ((Mid(Cells(i, 1), k, 1) > "9") Or (Mid(Cells(i, 1), k, 1) < "0")) Then
f = k
End If
If (Mid(Cells(i, 1), k, 1) > "9") Or (Mid(Cells(i, 1), k, 1) < "0") Then
l = k
End If
If f = 0 Then
Cells(i, 2) = "В выражении отсутвуют буквы"
End If
If f > 0 Then
If f > 1 Then
Cells(i, 2) = Mid(Cells(i, 1), 1, f - 1) & "-" & Mid(Cells(i, 1), f, l - f + 1) & "-" & Mid(Cells(i, 1), l + 1, 10000)
Cells(i, 2) = Replace(Cells(i, 2), "--", "-")
End If
If f = 1 Then
Cells(i, 2) = "В выражении первый символ БУКВА!"
End If
End If
Next k
i = i + 1
Wend
End Sub -
-
Mad Hatter писал(а)
:фиг знает с какой версии (чуть ли не с самых первых).
Ну в 1996 я точно им пользовался (хотя от "программирования" отошел в 1994... в личных целях использовал, в общем)