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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2013, 06:53   #11
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

VictorM, а пройтись по VBA-массиву по каждому элементу первого столбца с преобразованием типа данных "Variant/Data" в тип данных "Variant/String" долго очень получается?

Примечание

Я так понимаю, что прежде чем данные попадают в ListBox, данные преобразуются в тип данных "String". ListBox так переводит тип данных "Variant/Data" (в VBA-массиве с типом данных "Variant", так находятся даты, взятые откуда-то. Это можно посмотреть в "View" - "Local Windows") в тип данных "String", что даты форматируются без учёта языка операционной системы, без учёта языковых параметров операционной системы, а тупо по английским правилам.

Последний раз редактировалось Скрипт; 08.03.2013 в 07:02.
Скрипт вне форума Ответить с цитированием
Старый 08.03.2013, 14:53   #12
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Поскольку после выборки строк в массиве остается не так уж много, сделал так
Код:
k = UBound(resArr)
    For i = 1 To k
        resArr(i, 1) = Str(resArr(i, 1))
    Next i
    Me.ListBox_История.List = resArr
все работает отлично, в первом стольбце дата в формате 31.03.2013
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 08.03.2013, 15:21   #13
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

VictorM, можно обойтись и без переменной "k" (чтобы в коде меньше было ненужного):
Код:
For i = 1 To UBound(resArr)
Функция UBound будет вызываться только один раз при первой итерации (итерация, другими словами, - это виток) цикла, а не при каждой итерации цикла.
Скрипт вне форума Ответить с цитированием
Старый 08.03.2013, 19:47   #14
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Скрипт, спасибо. Так и сделаю.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тестовое поле, тип дата, формат даты Ципихович Эндрю Microsoft Office Word 15 08.04.2012 21:26
Как установить формат даты при вводе Santosh Microsoft Office Access 3 28.07.2011 13:35
VBA Как задать формат даты и времени kaa1977 Microsoft Office Excel 5 02.04.2010 12:19
Как в VB6 получить доступ к содержимому колонок в ListBox'е? AndreyMust19 Помощь студентам 3 21.03.2009 00:06
Как установить формат даты на всю книгу ? SD_KOROLEV Microsoft Office Excel 3 02.03.2008 20:14