Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2011, 14:10   #11
НеВа6464
Пользователь
 
Регистрация: 16.05.2009
Сообщений: 64
По умолчанию

Спасибо, Виктор.
Тут уже и делать мне больше ничего практически не надо
Есть правда ещё вопрос. Вместо конкретного диапазона [ ] можно использовать Selection?
Типа Selection.formula?
Дело в том, что диапазон у меня плавающий. Программно определить его и выделить я смогу.
НеВа6464 вне форума Ответить с цитированием
Старый 22.04.2011, 21:49   #12
ZlodeiDen
Пользователь
 
Регистрация: 14.04.2011
Сообщений: 25
По умолчанию Была такая же проблема когда сидел удалённо через ВПН.

Была такая же проблема когда сидел удалённо через ВПН.
Решил проблему заменой разделительной целой и дробной части в настройках windows.
В Win 7 это делается так:
ЛКМ по значку в панели где отображается время=> Изменение настроек даты и времени=> Изменить дату и время=>Изменение параметров календаря=>Вкладка числа=>Разделитель целой и дробной части меняем с .на , или на оборот.
Как это менять в других версиях Windows не знаю.
З.Ы надеюсь поможет!
ZlodeiDen вне форума Ответить с цитированием
Старый 22.04.2011, 21:56   #13
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Программно определить его и выделить я смогу.
Вот определить, это хорошо, а выделять вовсе необязательно.
Как видите, я убрал из Вашего исходного макроса все Selection и все нормально работает.
Определяйте диапазон и от этого уже доводите макрос " до нужной кондиции"))
Просто не видя реальных данных трудно что-то еще сказать, приведенное выше - только пример.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 22.04.2011, 21:59   #14
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Решил проблему заменой разделительной целой и дробной части в настройках windows.
Да, это выход, но тогда возникают проблемы с при работе с другими файлами.
По крайней мере, у меня так было.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 22.04.2011, 22:42   #15
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Цитата:
Сообщение от НеВа6464 Посмотреть сообщение
Вместо конкретного диапазона [ ] можно использовать Selection?
Можно:
Код:
Public Sub www()
    Dim a, i&: a = Selection.Value
    For i = 1 To UBound(a)
        a(i, 1) = CDbl(Replace(Replace(a(i, 1), "'", ""), ".", Mid(1 / 2, 2, 1)))
    Next
    Selection = a: Selection.NumberFormat = "0.00"
End Sub
И работает при любом системном разделителе.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 22.04.2011 в 22:46.
kuklp вне форума Ответить с цитированием
Старый 22.04.2011, 22:51   #16
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Можно:
Супер!!!
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 23.04.2011, 13:19   #17
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Спасибо, Вить. Но чувствовал, что можно проще, без переменных и циклов:
Код:
Public Sub www()
    With Selection
    .Replace "'", "": .Replace ".", Mid(1 / 2, 2, 1)
    .TextToColumns: .NumberFormat = "0.00"
    End With
End Sub
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 23.04.2011, 16:39   #18
НеВа6464
Пользователь
 
Регистрация: 16.05.2009
Сообщений: 64
По умолчанию

Большое спасибо
НеВа6464 вне форума Ответить с цитированием
Старый 23.04.2011, 16:48   #19
НеВа6464
Пользователь
 
Регистрация: 16.05.2009
Сообщений: 64
По умолчанию

А можно ещё вопрос?
Что означает "Mid(1 / 2, 2, 1)"?
НеВа6464 вне форума Ответить с цитированием
Старый 23.04.2011, 19:33   #20
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Цитата:
Сообщение от НеВа6464 Посмотреть сообщение
А можно ещё вопрос?
Что означает "Mid(1 / 2, 2, 1)"?
Так мы определяем системный разделитель.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Убрать запятые из файла. Dasharnb777 Microsoft Office Excel 6 08.07.2010 21:23
определить радиус и центр окружности, на кот. лежит наиб.число точек заданного на плоскости мн-ва точек) kcю Помощь студентам 0 17.11.2009 19:50
Замена точек запятыми miss Microsoft Office Excel 4 30.07.2009 13:29
составить прогу, заменить все пробелы на запятые tim777777 Помощь студентам 7 02.03.2009 05:52
Убрать запятые и точки 3акup Microsoft Office Excel 7 18.02.2009 18:47