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

Вход

Регистрация

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

 

= Мир MS Excel/Перенос диапазона в txt вместе с датами - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос диапазона в txt вместе с датами (Макросы/Sub)
Перенос диапазона в txt вместе с датами
SergVrn Дата: Вторник, 10.09.2019, 22:36 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте.
Помогите разобраться с сложной проблемой.

У меня есть диапазон G5:H5000.
И его нужно перенести в файл 1.txt - как табулированный текст.

Но проблема в том, что у этого диапазона, который отобразится в txt - должно быть не два, а три столбца.
В этом дополнительном столбце должна находится дата, которая образовывалась бы объединением значений столбцов В, С, D - то есть
Код
=B5&C5&D5

То есть в txt сперва пойдет столбец с датой, потом пойдет столбец G, потом столбец H.

Создавать дополнительные столбцы - нельзя, то есть этот дополнительный столбец с датой - нужно как-то в макросе создать.
Я прикрепил файл - как в итоге должен выглядеть 1.txt
К сообщению приложен файл: 2137767.xls (42.0 Kb) · 4056152.txt (1.6 Kb)
 
Ответить
СообщениеЗдравствуйте.
Помогите разобраться с сложной проблемой.

У меня есть диапазон G5:H5000.
И его нужно перенести в файл 1.txt - как табулированный текст.

Но проблема в том, что у этого диапазона, который отобразится в txt - должно быть не два, а три столбца.
В этом дополнительном столбце должна находится дата, которая образовывалась бы объединением значений столбцов В, С, D - то есть
Код
=B5&C5&D5

То есть в txt сперва пойдет столбец с датой, потом пойдет столбец G, потом столбец H.

Создавать дополнительные столбцы - нельзя, то есть этот дополнительный столбец с датой - нужно как-то в макросе создать.
Я прикрепил файл - как в итоге должен выглядеть 1.txt

Автор - SergVrn
Дата добавления - 10.09.2019 в 22:36
InExSu Дата: Среда, 11.09.2019, 23:15 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация: 96 ±
Замечаний: 0% ±

Excel 2010, 365
Привет!
нельзя

"Действуй строго по закону, то бишь действуй… втихаря"


Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
 
Ответить
СообщениеПривет!
нельзя

"Действуй строго по закону, то бишь действуй… втихаря"

Автор - InExSu
Дата добавления - 11.09.2019 в 23:15
SergVrn Дата: Среда, 11.09.2019, 23:29 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
InExSu, понятно.

А может все-таки как-то можно ?
 
Ответить
СообщениеInExSu, понятно.

А может все-таки как-то можно ?

Автор - SergVrn
Дата добавления - 11.09.2019 в 23:29
InExSu Дата: Среда, 11.09.2019, 23:42 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация: 96 ±
Замечаний: 0% ±

Excel 2010, 365
можно ?

Создавайте столбцы и не сохраняйте книгу.
Или скопируйте лист и создавайте столбцы.
Как говорят мудрые: ограничения в наших головах


Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
 
Ответить
Сообщение
можно ?

Создавайте столбцы и не сохраняйте книгу.
Или скопируйте лист и создавайте столбцы.
Как говорят мудрые: ограничения в наших головах

Автор - InExSu
Дата добавления - 11.09.2019 в 23:42
SergVrn Дата: Четверг, 12.09.2019, 01:36 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
InExSu, а нельзя как-нибудь сформировать массив Ubound, где один из столбцов как раз будет формироваться подобным образом ?
 
Ответить
СообщениеInExSu, а нельзя как-нибудь сформировать массив Ubound, где один из столбцов как раз будет формироваться подобным образом ?

Автор - SergVrn
Дата добавления - 12.09.2019 в 01:36
nilem Дата: Четверг, 12.09.2019, 08:36 | Сообщение № 6
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
SergVrn, привет
попробуйте так:
[vba]
Код
Sub example_02() 'http://www.excelworld.ru/board/vba/tricks/text_files/9-1-0-38
Dim x, y(), i&, s$

With Sheets("Лист3")
    If .FilterMode Then .ShowAllData
    x = .Range("B5:H" & .Cells(Rows.Count, 2).End(xlUp).Row).Value
End With

ReDim y(1 To UBound(x))
For i = 1 To UBound(x)
    y(i) = x(i, 1) & x(i, 2) & x(i, 3) & vbTab & x(i, 6) & vbTab & x(i, 7)
Next i
s = Join(y, vbCrLf)

With CreateObject("scripting.filesystemobject")
    With .CreateTextFile(ThisWorkbook.Path & "\sheet44.txt", True)
        .Write s: .Close
    End With
End With
MsgBox "Ok", 64
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеSergVrn, привет
попробуйте так:
[vba]
Код
Sub example_02() 'http://www.excelworld.ru/board/vba/tricks/text_files/9-1-0-38
Dim x, y(), i&, s$

With Sheets("Лист3")
    If .FilterMode Then .ShowAllData
    x = .Range("B5:H" & .Cells(Rows.Count, 2).End(xlUp).Row).Value
End With

ReDim y(1 To UBound(x))
For i = 1 To UBound(x)
    y(i) = x(i, 1) & x(i, 2) & x(i, 3) & vbTab & x(i, 6) & vbTab & x(i, 7)
Next i
s = Join(y, vbCrLf)

With CreateObject("scripting.filesystemobject")
    With .CreateTextFile(ThisWorkbook.Path & "\sheet44.txt", True)
        .Write s: .Close
    End With
End With
MsgBox "Ok", 64
End Sub
[/vba]

Автор - nilem
Дата добавления - 12.09.2019 в 08:36
SergVrn Дата: Четверг, 12.09.2019, 11:51 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
nilem, спасибо.
 
Ответить
Сообщениеnilem, спасибо.

Автор - SergVrn
Дата добавления - 12.09.2019 в 11:51
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос диапазона в txt вместе с датами (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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