powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / преобразовать дату ТЕКСТ(A1;"ГГГГ.ММ.ДД") в цикле
11 сообщений из 11, страница 1 из 1
преобразовать дату ТЕКСТ(A1;"ГГГГ.ММ.ДД") в цикле
    #37003753
balbes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hi All

пытаюсь импортировать средствами PHP скрипта данные из xls файла в MySQL.
В связи с чем вопрос как с помощью VBA скрипта преобразовать дату в формат гггг.мм.дд понятный для MySQL?
в файле порядка 20000 строк даты в двух колонках.
1.Как запухнуть в цикл ТЕКСТ(A1;"ГГГГ.ММ.ДД") ?
2.Как в цикле определить конец "файла", (данных)?


плз. помогите дайле транскрипцию...
...
Рейтинг: 0 / 0
преобразовать дату ТЕКСТ(A1;"ГГГГ.ММ.ДД") в цикле
    #37003789
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как то так
Код: plaintext
1.
2.
3.
for i = 1  to  65535 
ActiveCell.Value = Format(ActiveCell.Value, "yyyy.mm.dd")
ActiveCell.offset( 1 , 0 ).select
next i
...
Рейтинг: 0 / 0
преобразовать дату ТЕКСТ(A1;"ГГГГ.ММ.ДД") в цикле
    #37003800
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim, ну вот зачем вам тут ActiveCell? забудьте это слово
Код: plaintext
1.
2.
3.
Do Until Cells(i,  5 )="" And Cells(i,  6 )=""
  Cells(i,  5 )=Format(Cells(i,  5 ), "yyyy.mm.dd")
  Cells(i,  6 )=Format(Cells(i,  6 ), "yyyy.mm.dd")
Loop
...
Рейтинг: 0 / 0
преобразовать дату ТЕКСТ(A1;"ГГГГ.ММ.ДД") в цикле
    #37004020
balbes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
простите не совсем понял как это
Код: plaintext
1.
2.
3.
4.
Do Until Cells(i,  5 )="" And Cells(i,  6 )=""
  Cells(i,  5 )=Format(Cells(i,  5 ), "yyyy.mm.dd")
  Cells(i,  6 )=Format(Cells(i,  6 ), "yyyy.mm.dd")
Loop
должно работать?

скрипт выполняется но формат даты не меняется...
Код: plaintext
1.
2.
3.
4.
for i = 1  to  65535 
ActiveCell.Value = Format(ActiveCell.Value, "yyyy.mm.dd")
ActiveCell.offset( 1 , 0 ).select
next i
Хотельсо бы что бы данный формат не накатывался на все ячейки таблицы.
в идеале указать начальную ячейку и в цикле пробежать только по двум столбцам.

Что бы было понятней прикрепляю кусок файла.
...
Рейтинг: 0 / 0
преобразовать дату ТЕКСТ(A1;"ГГГГ.ММ.ДД") в цикле
    #37004058
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: balbes
> Хотельсо бы что бы данный формат не накатывался на все ячейки таблицы.
> в идеале указать начальную ячейку и в цикле пробежать только по двум столбцам.


А нельзя просто формат отображения поменять?
Код: plaintext
1.
2.
3.
4.
For i =  1  To  65535 
    Cells(i,  2 ).NumberFormat = "yyyy/mm/dd"
    Cells(i,  5 ).NumberFormat = "yyyy/mm/dd"
Next i


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
преобразовать дату ТЕКСТ(A1;"ГГГГ.ММ.ДД") в цикле
    #37004115
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
преобразовать дату ТЕКСТ(A1;"ГГГГ.ММ.ДД") в цикле
    #37004117
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
balbesпростите не совсем понял как это должно работать?
простите, вы бы тогда сразу уже дали файл, чтобы я мог вписать конкретные номера столбцов и т.п., я ж их откуда знаю - я просто дал наводку
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub t()

Dim i As Integer
i =  4 
Do Until Cells(i,  7 ) = "" And Cells(i,  8 ) = ""
  Cells(i,  7 ) = Format(Cells(i,  7 ), "yyyy.mm.dd")
  Cells(i,  8 ) = Format(Cells(i,  8 ), "yyyy.mm.dd")
  i = i +  1 
Loop

End Sub
только это надо не в модуле расположить, а в модуле листа, либо перед Cells придется указывать лист
...
Рейтинг: 0 / 0
преобразовать дату ТЕКСТ(A1;"ГГГГ.ММ.ДД") в цикле
    #37004119
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опоздал на полсекунды
...
Рейтинг: 0 / 0
преобразовать дату ТЕКСТ(A1;"ГГГГ.ММ.ДД") в цикле
    #37004161
balbes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Низкий поклон всем! за участие пошел тестит скрипт.
...
Рейтинг: 0 / 0
преобразовать дату ТЕКСТ(A1;"ГГГГ.ММ.ДД") в цикле
    #37004195
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: balbes
> Низкий поклон всем! за участие пошел тестит скрипт.


Да чего там тестить, наливай да пей! У меня таких скриптиков по ричесыванию данных рождается куча, я их даже не
сохраняю, быстрее написать новый, чем копатся в куче кода. Вот сейчас занимаюсь таким-же. Подготавливаю данные, для
вставки в БД

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
преобразовать дату ТЕКСТ(A1;"ГГГГ.ММ.ДД") в цикле
    #37004216
balbes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все получилось господа!
еще раз оргромное спасибо,

Транскрипцию если честно не понимаю.... Нужно браться за изучения VBA
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / преобразовать дату ТЕКСТ(A1;"ГГГГ.ММ.ДД") в цикле
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]