Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Формат данных в ячейках - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Формат данных в ячейках
карандаш Дата: Пятница, 22.02.2013, 14:44 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 8 ±
Замечаний: 0% ±

2010
Здравствуйте,

есть процедура (макрос, программа)
копирует диапазоны при некоторых условиях


если она срабатывает, то всегда проходит п.п.1,2,3 (если нет ошибки в идентификации листа. Его нет, иначе смысл в процедуре пропадает)
этого хватает, что практически ВСЕ ячейки ВСЕХ листов (а не только диапазонов, используемых в команде) получили формат даты.

при чем не простой формат, а тот, который имеет ячейка F2 листа "водителю"
(пробовал чуточку изменить формат этой ячейки F2 n upn cpa/atsbahnn upowedyps получал вышеупомянутый негативный эффект)
нюанс в том, что такой формат не получают ячейки, уже имеющие формат Даты своего вида

хотелось бы получить помощь в виде ответа, от чего так происходит и как от этого избавится?

* попутный вопрос: в программе есть условие (в п.1.), при невыполнении которого покидаем программу.
как сообщить пользователю, что процедура не сработала по такой-то причине?
существует ли какой-либо способ вызвать окно сообщения с возможностью задать ему текст?

** и ещë вопрос: непонятно после каких изменений, но стал наблюдаться стабильный неприятный эффект
при открытии файла (он имел и ранее и имеет сейчас ссылки для забора информации из двух других экскловских файлов) эксел просит разрешить обновить связи. После получения разрешения он зависает на некоторое время, потом дико извиняется за невозможность продолжить работу, при этом берет всю вину за произошедшее на себя, просит разрешения отправить что-то там в микрософт. Оправляет, но не в стандартном виде, где окно индикации связи и передачи после надо закрывать самому, а несколько видоизменëнное, оно потом само закрывается, а эксел перезапускает сам и открывает тот же файл.
После чего все нормально - он заглатывает нужные данные и все работает.
Нюанс в том, что это происходит один раз, первый раз после загрузки (перезагрузки) компа. Потом можно закрывать и открывать это файл много раз - все работает быстро и безупречно.
Где может быть зарыта собака?

[admin]Перед вставкой на форум копируйте код из VBE при РУССКОЙ раскладке
И пользуйтесь спойлерами для длинных кодов [/admin]
 
Ответить
СообщениеЗдравствуйте,

есть процедура (макрос, программа)
копирует диапазоны при некоторых условиях


если она срабатывает, то всегда проходит п.п.1,2,3 (если нет ошибки в идентификации листа. Его нет, иначе смысл в процедуре пропадает)
этого хватает, что практически ВСЕ ячейки ВСЕХ листов (а не только диапазонов, используемых в команде) получили формат даты.

при чем не простой формат, а тот, который имеет ячейка F2 листа "водителю"
(пробовал чуточку изменить формат этой ячейки F2 n upn cpa/atsbahnn upowedyps получал вышеупомянутый негативный эффект)
нюанс в том, что такой формат не получают ячейки, уже имеющие формат Даты своего вида

хотелось бы получить помощь в виде ответа, от чего так происходит и как от этого избавится?

* попутный вопрос: в программе есть условие (в п.1.), при невыполнении которого покидаем программу.
как сообщить пользователю, что процедура не сработала по такой-то причине?
существует ли какой-либо способ вызвать окно сообщения с возможностью задать ему текст?

** и ещë вопрос: непонятно после каких изменений, но стал наблюдаться стабильный неприятный эффект
при открытии файла (он имел и ранее и имеет сейчас ссылки для забора информации из двух других экскловских файлов) эксел просит разрешить обновить связи. После получения разрешения он зависает на некоторое время, потом дико извиняется за невозможность продолжить работу, при этом берет всю вину за произошедшее на себя, просит разрешения отправить что-то там в микрософт. Оправляет, но не в стандартном виде, где окно индикации связи и передачи после надо закрывать самому, а несколько видоизменëнное, оно потом само закрывается, а эксел перезапускает сам и открывает тот же файл.
После чего все нормально - он заглатывает нужные данные и все работает.
Нюанс в том, что это происходит один раз, первый раз после загрузки (перезагрузки) компа. Потом можно закрывать и открывать это файл много раз - все работает быстро и безупречно.
Где может быть зарыта собака?

[admin]Перед вставкой на форум копируйте код из VBE при РУССКОЙ раскладке
И пользуйтесь спойлерами для длинных кодов [/admin]

Автор - карандаш
Дата добавления - 22.02.2013 в 14:44
Матраскин Дата: Пятница, 22.02.2013, 16:15 | Сообщение № 2
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
по поводу формата...я бы его менял в конце выполнения макроса. что-нить такое:
[vba]
Код
sub 1()
'блаблабла
   Range("данные").Select
   Selection.NumberFormat = "нужный_нам_формат"
end sub
[/vba]
сообщения выводятся с помощью MSGBOX . можно вывести как простое сообщение, так и какие то переменные которые не удовлетворяют условию и на которые нужно обратить внимание
[vba]
Код
MsgBox "Не указан код предмета в таблице BallOneSchool, строка №" & strBase
[/vba]


в интернете опять кто-то не прав

Сообщение отредактировал Матраскин - Пятница, 22.02.2013, 16:33
 
Ответить
Сообщениепо поводу формата...я бы его менял в конце выполнения макроса. что-нить такое:
[vba]
Код
sub 1()
'блаблабла
   Range("данные").Select
   Selection.NumberFormat = "нужный_нам_формат"
end sub
[/vba]
сообщения выводятся с помощью MSGBOX . можно вывести как простое сообщение, так и какие то переменные которые не удовлетворяют условию и на которые нужно обратить внимание
[vba]
Код
MsgBox "Не указан код предмета в таблице BallOneSchool, строка №" & strBase
[/vba]

Автор - Матраскин
Дата добавления - 22.02.2013 в 16:15
карандаш Дата: Суббота, 23.02.2013, 12:06 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 8 ±
Замечаний: 0% ±

2010
Serge_007,
про спойлер понял
про раскладку - была русская, но не была решена проблема 1252 - не удалялся. Сейчас получилось. все будет по-русски.

Цитата (Матраскин)
по поводу формата...я бы его менял в конце выполнения макроса. что-нить такое:


[vba]
Код
Range("C:C,F:F").Select
Selection.NumberFormat = "General"
[/vba]
"нельзя присвоить формат классу Range" - говорит эксел

да это и не решение проблемы. Залатать дырку наскоро можно, но хотелось бы устранить причину.
почему ВСЕ (даже в самом дальнем уголке, внизу справа) ячейки на всех листах принимают этот формат?
и не просто формат ДАТА, а именно тот, что в ячейке F2
наверняка что-то не так в датском королевстве

MsgBox вставлю, спасибо


Сообщение отредактировал карандаш - Суббота, 23.02.2013, 13:53
 
Ответить
СообщениеSerge_007,
про спойлер понял
про раскладку - была русская, но не была решена проблема 1252 - не удалялся. Сейчас получилось. все будет по-русски.

Цитата (Матраскин)
по поводу формата...я бы его менял в конце выполнения макроса. что-нить такое:


[vba]
Код
Range("C:C,F:F").Select
Selection.NumberFormat = "General"
[/vba]
"нельзя присвоить формат классу Range" - говорит эксел

да это и не решение проблемы. Залатать дырку наскоро можно, но хотелось бы устранить причину.
почему ВСЕ (даже в самом дальнем уголке, внизу справа) ячейки на всех листах принимают этот формат?
и не просто формат ДАТА, а именно тот, что в ячейке F2
наверняка что-то не так в датском королевстве

MsgBox вставлю, спасибо

Автор - карандаш
Дата добавления - 23.02.2013 в 12:06
Serge_007 Дата: Суббота, 23.02.2013, 12:57 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (карандаш)
про раскладку - была русская, но не была решена проблема 1252

При русской раскладке клавиатуры никаких более действий производить не надо


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (карандаш)
про раскладку - была русская, но не была решена проблема 1252

При русской раскладке клавиатуры никаких более действий производить не надо

Автор - Serge_007
Дата добавления - 23.02.2013 в 12:57
карандаш Дата: Суббота, 23.02.2013, 16:27 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 8 ±
Замечаний: 0% ±

2010
Цитата (Serge_007)
При русской раскладке клавиатуры никаких более действий производить не надо


проверил - действительно так :(((
жаль потраченных усилий
p.s. проверил эффект замены 1252 - желаемого результата не получил (((


Сообщение отредактировал карандаш - Суббота, 23.02.2013, 16:42
 
Ответить
Сообщение
Цитата (Serge_007)
При русской раскладке клавиатуры никаких более действий производить не надо


проверил - действительно так :(((
жаль потраченных усилий
p.s. проверил эффект замены 1252 - желаемого результата не получил (((

Автор - карандаш
Дата добавления - 23.02.2013 в 16:27
карандаш Дата: Суббота, 23.02.2013, 16:31 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 8 ±
Замечаний: 0% ±

2010
подрограмма


если программа вызывается, то всегда проходит п.п.1,2,3 и Океу (если нет ошибки в идентификации листа. Его нет, иначе смысл в процедуре пропадает)
этого хватает, чтобы практически ВСЕ ячейки ВСЕХ листов (а не только диапазонов, используемых в команде) получили формат даты.

при чем не простой формат, а тот, который имеет ячейка F2 листа "водителю"
(пробовал чуточку изменить формат этой ячейки F2 для проверки влияние и получал вышеупомянутый негативный эффект)
нюанс в том, что такой формат не получают ячейки, уже имеющие формат Даты своего вида

хотелось бы получить помощь в виде ответа, от чего так происходит и как от этого избавится?

может дело в
[vba]
Код
Yes:
       Sheets(SheetName).Select
[/vba]
может его не выделять, а просто сделать активным?

но как тогда этот формат попадает на все другие листы?

файл не прикрепился в прошлый раз
К сообщению приложен файл: go-04.rar (41.7 Kb)


Сообщение отредактировал карандаш - Суббота, 23.02.2013, 21:08
 
Ответить
Сообщениеподрограмма


если программа вызывается, то всегда проходит п.п.1,2,3 и Океу (если нет ошибки в идентификации листа. Его нет, иначе смысл в процедуре пропадает)
этого хватает, чтобы практически ВСЕ ячейки ВСЕХ листов (а не только диапазонов, используемых в команде) получили формат даты.

при чем не простой формат, а тот, который имеет ячейка F2 листа "водителю"
(пробовал чуточку изменить формат этой ячейки F2 для проверки влияние и получал вышеупомянутый негативный эффект)
нюанс в том, что такой формат не получают ячейки, уже имеющие формат Даты своего вида

хотелось бы получить помощь в виде ответа, от чего так происходит и как от этого избавится?

может дело в
[vba]
Код
Yes:
       Sheets(SheetName).Select
[/vba]
может его не выделять, а просто сделать активным?

но как тогда этот формат попадает на все другие листы?

файл не прикрепился в прошлый раз

Автор - карандаш
Дата добавления - 23.02.2013 в 16:31
RAN Дата: Суббота, 23.02.2013, 18:20 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Цитата (карандаш)
может его не выделять, а просто сделать активным

А зачем?
Цитата (карандаш)
Range("C:C,F:F").Select
Selection.NumberFormat = "General"
"нельзя присвоить формат классу Range" - говорит эксел


А так?

[vba]
Код
Range("C:F").NumberFormat = "General"
[/vba]
или
[vba]
Код
Range("C:F").NumberFormat = "dd.mm.yy"
[/vba]

PS Открыл файл, поглядел на кучу мусора, закрыл.
Будет еще такой файл - очередные и открывать не буду.

PPS
[vba]
Код
Range("C:C,F:F").NumberFormat = "dd.mm.yy"
[/vba]
тоже молчит


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Суббота, 23.02.2013, 18:24
 
Ответить
Сообщение
Цитата (карандаш)
может его не выделять, а просто сделать активным

А зачем?
Цитата (карандаш)
Range("C:C,F:F").Select
Selection.NumberFormat = "General"
"нельзя присвоить формат классу Range" - говорит эксел


А так?

[vba]
Код
Range("C:F").NumberFormat = "General"
[/vba]
или
[vba]
Код
Range("C:F").NumberFormat = "dd.mm.yy"
[/vba]

PS Открыл файл, поглядел на кучу мусора, закрыл.
Будет еще такой файл - очередные и открывать не буду.

PPS
[vba]
Код
Range("C:C,F:F").NumberFormat = "dd.mm.yy"
[/vba]
тоже молчит

Автор - RAN
Дата добавления - 23.02.2013 в 18:20
карандаш Дата: Суббота, 23.02.2013, 21:06 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 8 ±
Замечаний: 0% ±

2010
Цитата (RAN)
Открыл файл, поглядел на кучу мусора, закрыл.

что подразумевается под мусором?
заменил фамилии и названия фирм на набор букв (согласно правилам форума)

проблема не в установке формата ДАТА, а в избавлении от этого формата, который почему-то устанавливается во все ячейки.
это ошибка, и существует настоятельная необходимость еë устранения, т.к. последствия могут быть не только в неудобном формате
именно в этом прошу помощи


Сообщение отредактировал карандаш - Суббота, 23.02.2013, 21:42
 
Ответить
Сообщение
Цитата (RAN)
Открыл файл, поглядел на кучу мусора, закрыл.

что подразумевается под мусором?
заменил фамилии и названия фирм на набор букв (согласно правилам форума)

проблема не в установке формата ДАТА, а в избавлении от этого формата, который почему-то устанавливается во все ячейки.
это ошибка, и существует настоятельная необходимость еë устранения, т.к. последствия могут быть не только в неудобном формате
именно в этом прошу помощи

Автор - карандаш
Дата добавления - 23.02.2013 в 21:06
RAN Дата: Суббота, 23.02.2013, 21:54 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Мусор - это все макросы, листы, и т.п., не имеющие отношение к вопросу.
Цитата (карандаш)
проблема не в установке формата ДАТА, а в избавлении от этого формата, который почему-то устанавливается во все ячейки.

При копировании дат Excel автоматически выбирает формат. Формат "Общий" ("General"), скорее всего, проблему не решит. Нужно устанавливать пользовательский форматю


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеМусор - это все макросы, листы, и т.п., не имеющие отношение к вопросу.
Цитата (карандаш)
проблема не в установке формата ДАТА, а в избавлении от этого формата, который почему-то устанавливается во все ячейки.

При копировании дат Excel автоматически выбирает формат. Формат "Общий" ("General"), скорее всего, проблему не решит. Нужно устанавливать пользовательский форматю

Автор - RAN
Дата добавления - 23.02.2013 в 21:54
карандаш Дата: Суббота, 23.02.2013, 23:01 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 8 ±
Замечаний: 0% ±

2010
Цитата (RAN)
Мусор - это все макросы, листы, и т.п., не имеющие отношение к вопросу.


понимаете, я перебрал все возможные (с моей точки зрения) варианты
т.е. когда есть какие-то макросы, когда их нет
ставил Stop в разных строках в программе Moving и пытался через F8 пошагово пройти программу
но так и не смог найти комбинации при которой возникает эта досадная "ошибка"
не смог найти какой именно макрос или программа порождает эту ситуацию
поэтому и оставил "весь этот мусор"
потому, что иногда открываешь файл - все нормально. И даты позволяет менять - ничего не происходит
а иногда, вроде бы даже ничего не успевает срабатывать, только откроешь файл - а все ячейки уже "изгажены" ненужным форматом
(потому, что если в ячейку попадает простое значение 0 (ноль), оно отображается как 1 явнаря 1900 года. Ерунда какая-то досадная)
и попытка дополнить книгу новыми доделками натыкается на невозможность применить нужный формат в новом месте.

Цитата (RAN)
При копировании дат Excel автоматически выбирает формат

от чего зависит выбор Экселом того или иного формата?

хорошо, пусть выбирает - но при чем тут ячейки, которые не участвуют в копировании?

p.s. при пошаговой отладке увидел, что второй и третий листы почему-то находятся в состоянии "выбрать все", как будто кто-то нажал Ctrl+A

попробую "упростить" файл и выложить.


Сообщение отредактировал карандаш - Суббота, 23.02.2013, 23:16
 
Ответить
Сообщение
Цитата (RAN)
Мусор - это все макросы, листы, и т.п., не имеющие отношение к вопросу.


понимаете, я перебрал все возможные (с моей точки зрения) варианты
т.е. когда есть какие-то макросы, когда их нет
ставил Stop в разных строках в программе Moving и пытался через F8 пошагово пройти программу
но так и не смог найти комбинации при которой возникает эта досадная "ошибка"
не смог найти какой именно макрос или программа порождает эту ситуацию
поэтому и оставил "весь этот мусор"
потому, что иногда открываешь файл - все нормально. И даты позволяет менять - ничего не происходит
а иногда, вроде бы даже ничего не успевает срабатывать, только откроешь файл - а все ячейки уже "изгажены" ненужным форматом
(потому, что если в ячейку попадает простое значение 0 (ноль), оно отображается как 1 явнаря 1900 года. Ерунда какая-то досадная)
и попытка дополнить книгу новыми доделками натыкается на невозможность применить нужный формат в новом месте.

Цитата (RAN)
При копировании дат Excel автоматически выбирает формат

от чего зависит выбор Экселом того или иного формата?

хорошо, пусть выбирает - но при чем тут ячейки, которые не участвуют в копировании?

p.s. при пошаговой отладке увидел, что второй и третий листы почему-то находятся в состоянии "выбрать все", как будто кто-то нажал Ctrl+A

попробую "упростить" файл и выложить.

Автор - карандаш
Дата добавления - 23.02.2013 в 23:01
Serge_007 Дата: Суббота, 23.02.2013, 23:06 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (карандаш)
0 (ноль), оно отображается как 1 явнаря 1900 года. Ерунда какая-то досадная

Это вполне логично, если понимать как Excel воспринимает даты

Цитата (карандаш)
от чего зависит выбор Экселом того или иного формата?

От формата исходных/копируемых ячеек


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (карандаш)
0 (ноль), оно отображается как 1 явнаря 1900 года. Ерунда какая-то досадная

Это вполне логично, если понимать как Excel воспринимает даты

Цитата (карандаш)
от чего зависит выбор Экселом того или иного формата?

От формата исходных/копируемых ячеек

Автор - Serge_007
Дата добавления - 23.02.2013 в 23:06
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!