CHEVRYACHOK
Дата: Суббота, 29.10.2016, 07:27 |
Сообщение № 21
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
krosav4ig , была одна ошибка, но по моей вине. Я не удалил объединенные ячейки. Единственное, что заметил, почему-то заменяет точки на запятые, но это не существенно. Еще раз спасибо! nilem , ваш отработал и с объединенными ячейками.
krosav4ig , была одна ошибка, но по моей вине. Я не удалил объединенные ячейки. Единственное, что заметил, почему-то заменяет точки на запятые, но это не существенно. Еще раз спасибо! nilem , ваш отработал и с объединенными ячейками.CHEVRYACHOK
Ответить
Сообщение krosav4ig , была одна ошибка, но по моей вине. Я не удалил объединенные ячейки. Единственное, что заметил, почему-то заменяет точки на запятые, но это не существенно. Еще раз спасибо! nilem , ваш отработал и с объединенными ячейками.Автор - CHEVRYACHOK Дата добавления - 29.10.2016 в 07:27
krosav4ig
Дата: Суббота, 29.10.2016, 21:58 |
Сообщение № 22
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация:
989
±
Замечаний:
0% ±
Excel 2007,2010,2013
это злозаменяет точки на запятые
а это ужо я немного накосячил, в строке[vba]Код
.Formula = Parent.Substitute(arr, ".", Parent.DecimalSeparator)
[/vba] сделал замену на десятичный резделитель [vba]Код
Sub dd() 10 On Error GoTo Er Dim arr As Variant, arr1 As Variant, i&, s$ 20 With [A1].CurrentRegion 30 With Intersect(.Columns("D").Offset(5), .EntireRow) 40 arr = .Value: arr1 = .Offset(, 1).Formula 50 With CreateObject("vbscript.regexp") 60 .Pattern = "([0-9]+)?(\s?\S+).*" 70 For i = 1 To UBound(arr) 80 If .test(arr(i, 1)) Then 90 s = "=trim(""$2 ""& 0" & arr1(i, 1) & "*text(0$1,""0;;1""))" 100 arr(i, 1) = Evaluate(.Replace(arr(i, 1), s)) 110 Else: arr(i, 1) = " " 120 End If 130 Next 140 End With 150 Parent.ScreenUpdating = False: Parent.DisplayAlerts = False 160 .Value = Parent.ReplaceB(arr, Parent.Search(" ", arr), 999, "") 170 .Offset(, 1).Formula = Parent.ReplaceB(arr, 1, Parent.Search(" ", arr), "") 180 Parent.DisplayAlerts = True: Parent.ScreenUpdating = True 190 End With 200 End With 210 Exit Sub Er: 220 Parent.DisplayAlerts = True: Parent.ScreenUpdating = True 230 With Parent.VBE.MainWindow.LinkedWindows 240 .Add Parent.VBE.Windows("Immediate") 250 .Add Parent.VBE.Windows("Locals") 260 End With 'Application.VBE.Windows("Immediate").Visible = True 'Application.VBE.Windows("Locals").Visible = True 270 Debug.Print "Ошибка " & Err.Number & " (" & Err.Description & ") на строке " & Erl 280 Stop 290 Err.Clear 300 Resume Next End Sub
[/vba]
это злозаменяет точки на запятые
а это ужо я немного накосячил, в строке[vba]Код
.Formula = Parent.Substitute(arr, ".", Parent.DecimalSeparator)
[/vba] сделал замену на десятичный резделитель [vba]Код
Sub dd() 10 On Error GoTo Er Dim arr As Variant, arr1 As Variant, i&, s$ 20 With [A1].CurrentRegion 30 With Intersect(.Columns("D").Offset(5), .EntireRow) 40 arr = .Value: arr1 = .Offset(, 1).Formula 50 With CreateObject("vbscript.regexp") 60 .Pattern = "([0-9]+)?(\s?\S+).*" 70 For i = 1 To UBound(arr) 80 If .test(arr(i, 1)) Then 90 s = "=trim(""$2 ""& 0" & arr1(i, 1) & "*text(0$1,""0;;1""))" 100 arr(i, 1) = Evaluate(.Replace(arr(i, 1), s)) 110 Else: arr(i, 1) = " " 120 End If 130 Next 140 End With 150 Parent.ScreenUpdating = False: Parent.DisplayAlerts = False 160 .Value = Parent.ReplaceB(arr, Parent.Search(" ", arr), 999, "") 170 .Offset(, 1).Formula = Parent.ReplaceB(arr, 1, Parent.Search(" ", arr), "") 180 Parent.DisplayAlerts = True: Parent.ScreenUpdating = True 190 End With 200 End With 210 Exit Sub Er: 220 Parent.DisplayAlerts = True: Parent.ScreenUpdating = True 230 With Parent.VBE.MainWindow.LinkedWindows 240 .Add Parent.VBE.Windows("Immediate") 250 .Add Parent.VBE.Windows("Locals") 260 End With 'Application.VBE.Windows("Immediate").Visible = True 'Application.VBE.Windows("Locals").Visible = True 270 Debug.Print "Ошибка " & Err.Number & " (" & Err.Description & ") на строке " & Erl 280 Stop 290 Err.Clear 300 Resume Next End Sub
[/vba]krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Суббота, 29.10.2016, 22:04
Ответить
Сообщение это злозаменяет точки на запятые
а это ужо я немного накосячил, в строке[vba]Код
.Formula = Parent.Substitute(arr, ".", Parent.DecimalSeparator)
[/vba] сделал замену на десятичный резделитель [vba]Код
Sub dd() 10 On Error GoTo Er Dim arr As Variant, arr1 As Variant, i&, s$ 20 With [A1].CurrentRegion 30 With Intersect(.Columns("D").Offset(5), .EntireRow) 40 arr = .Value: arr1 = .Offset(, 1).Formula 50 With CreateObject("vbscript.regexp") 60 .Pattern = "([0-9]+)?(\s?\S+).*" 70 For i = 1 To UBound(arr) 80 If .test(arr(i, 1)) Then 90 s = "=trim(""$2 ""& 0" & arr1(i, 1) & "*text(0$1,""0;;1""))" 100 arr(i, 1) = Evaluate(.Replace(arr(i, 1), s)) 110 Else: arr(i, 1) = " " 120 End If 130 Next 140 End With 150 Parent.ScreenUpdating = False: Parent.DisplayAlerts = False 160 .Value = Parent.ReplaceB(arr, Parent.Search(" ", arr), 999, "") 170 .Offset(, 1).Formula = Parent.ReplaceB(arr, 1, Parent.Search(" ", arr), "") 180 Parent.DisplayAlerts = True: Parent.ScreenUpdating = True 190 End With 200 End With 210 Exit Sub Er: 220 Parent.DisplayAlerts = True: Parent.ScreenUpdating = True 230 With Parent.VBE.MainWindow.LinkedWindows 240 .Add Parent.VBE.Windows("Immediate") 250 .Add Parent.VBE.Windows("Locals") 260 End With 'Application.VBE.Windows("Immediate").Visible = True 'Application.VBE.Windows("Locals").Visible = True 270 Debug.Print "Ошибка " & Err.Number & " (" & Err.Description & ") на строке " & Erl 280 Stop 290 Err.Clear 300 Resume Next End Sub
[/vba]Автор - krosav4ig Дата добавления - 29.10.2016 в 21:58
CHEVRYACHOK
Дата: Воскресенье, 30.10.2016, 12:08 |
Сообщение № 23
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
krosav4ig , так все замечательно, огромное спасибо!
krosav4ig , так все замечательно, огромное спасибо! CHEVRYACHOK
Ответить
Сообщение krosav4ig , так все замечательно, огромное спасибо! Автор - CHEVRYACHOK Дата добавления - 30.10.2016 в 12:08