Здравствуйте У меня входе различных преобразований данных получилась табличка, которая во вложении. В конце мне надо сложить полученные числа. А функция сумма не работает, т к надо преобразовать текст в число. Помогите, пожалуйста. Лучше в форме макроса
Здравствуйте У меня входе различных преобразований данных получилась табличка, которая во вложении. В конце мне надо сложить полученные числа. А функция сумма не работает, т к надо преобразовать текст в число. Помогите, пожалуйста. Лучше в форме макросаМарина16
То же самое, что предложил Сергей, но (как всегда у меня ) более универсально - практически на все возможные случаи[vba]
Код
Sub Repair_Value() ' в выделенных ячейках исправить экспортированные как текст данные чтобы нормально опознались числа Dim rArea As Range On Error Resume Next ActiveWindow.RangeSelection.SpecialCells(xlCellTypeConstants).Select If Err Then Exit Sub With Application: .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual: End With For Each rArea In Selection.Areas rArea.FormulaLocal = rArea.FormulaLocal Next rArea With Application: .ScreenUpdating = True: .EnableEvents = True: .Calculation = xlAutomatic: End With End Sub
[/vba]
То же самое, что предложил Сергей, но (как всегда у меня ) более универсально - практически на все возможные случаи[vba]
Код
Sub Repair_Value() ' в выделенных ячейках исправить экспортированные как текст данные чтобы нормально опознались числа Dim rArea As Range On Error Resume Next ActiveWindow.RangeSelection.SpecialCells(xlCellTypeConstants).Select If Err Then Exit Sub With Application: .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual: End With For Each rArea In Selection.Areas rArea.FormulaLocal = rArea.FormulaLocal Next rArea With Application: .ScreenUpdating = True: .EnableEvents = True: .Calculation = xlAutomatic: End With End Sub
Подскажите, почему не работает на Win XP, На семерке все хорошо [vba]
Код
Sub Repair_Value() ' в выделенных ячейках исправить экспортированные как текст данные чтобы нормально опознались числа Dim rArea As Range On Error Resume Next ActiveWindow.RangeSelection.SpecialCells(xlCellTypeConstants).Select If Err Then Exit Sub With Application: .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual: End With For Each rArea In Selection.Areas rArea.FormulaLocal = rArea.FormulaLocal Next rArea With Application: .ScreenUpdating = True: .EnableEvents = True: .Calculation = xlAutomatic: End With End Sub
[/vba]
Подскажите, почему не работает на Win XP, На семерке все хорошо [vba]
Код
Sub Repair_Value() ' в выделенных ячейках исправить экспортированные как текст данные чтобы нормально опознались числа Dim rArea As Range On Error Resume Next ActiveWindow.RangeSelection.SpecialCells(xlCellTypeConstants).Select If Err Then Exit Sub With Application: .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual: End With For Each rArea In Selection.Areas rArea.FormulaLocal = rArea.FormulaLocal Next rArea With Application: .ScreenUpdating = True: .EnableEvents = True: .Calculation = xlAutomatic: End With End Sub
Alex_ST, Подскажите, почему не работает на Win XP, На семерке все хорошо [vba]
Код
Sub Repair_Value() ' в выделенных ячейках исправить экспортированные как текст данные чтобы нормально опознались числа Dim rArea As Range On Error Resume Next ActiveWindow.RangeSelection.SpecialCells(xlCellTypeConstants).Select If Err Then Exit Sub With Application: .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual: End With For Each rArea In Selection.Areas rArea.FormulaLocal = rArea.FormulaLocal Next rArea With Application: .ScreenUpdating = True: .EnableEvents = True: .Calculation = xlAutomatic: End With End Sub
[/vba]
Alex_ST, Подскажите, почему не работает на Win XP, На семерке все хорошо [vba]
Код
Sub Repair_Value() ' в выделенных ячейках исправить экспортированные как текст данные чтобы нормально опознались числа Dim rArea As Range On Error Resume Next ActiveWindow.RangeSelection.SpecialCells(xlCellTypeConstants).Select If Err Then Exit Sub With Application: .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual: End With For Each rArea In Selection.Areas rArea.FormulaLocal = rArea.FormulaLocal Next rArea With Application: .ScreenUpdating = True: .EnableEvents = True: .Calculation = xlAutomatic: End With End Sub
У меня на работе Семёрка на одном компе, ХРюша - на другом, дома - Виста (ну да, мне стыдно , но переставлять кучу ломаного софта лень ) На всех машинах работает прекрасно. Также не зависит и от версии Офиса. Хоть я и фанат 2003, но на одном компе на работе пришлось поставить ещё и 2010. Там тоже работает.
А что значит "не работает"? Заремарьте строку On Error Resume Next на обоих компах и на одинаковом примере запустите макросы. Какие ошибки выдаст?
У меня на работе Семёрка на одном компе, ХРюша - на другом, дома - Виста (ну да, мне стыдно , но переставлять кучу ломаного софта лень ) На всех машинах работает прекрасно. Также не зависит и от версии Офиса. Хоть я и фанат 2003, но на одном компе на работе пришлось поставить ещё и 2010. Там тоже работает.
А что значит "не работает"? Заремарьте строку On Error Resume Next на обоих компах и на одинаковом примере запустите макросы. Какие ошибки выдаст?Alex_ST