Добрый день. Подскажите пожалуйста с созданием макроса. Параметры: Есть сводная таблица:
11.07.2014
5136
7260
17.07.2014
5229
9280
24.07.2014
5158
6960
25.07.2014
6860
Конечная цель. Необходимо чтобы при выделении ячейки и выполнении макроса, происходила выгрузка в формате .txt в место где хранится excel файл. Как видно запись не одна и есть одно важное условие. При выгрузке, файл должен называться как дата слева от номеров.
Т.е. в идеальном варианте в исходя из таблицы выше, в месте где лежит файл excel, должно появиться 4 файла .txt. с названиями дат, а внутри этих файлов должны быть номера относящиеся к этим датам.
Порывшись на форуме нашел вот такой макрос, но тут проблема в названии и при выделении и выполнении макроса, старый перезаписывается. Помогите доработать пожалуйста.
Код
Sub ExportRange() Dim Filename As String
Dim NumRows As Long, NumCols As Integer
Dim r As Long, c As Integer
Dim Data
Dim ExpRng As Range
Set ExpRng = Selection
NumCols = ExpRng.Columns.Count
NumRows = ExpRng.Rows.Count
Filename = ThisWorkbook.Path & "\textfile.txt"
Open Filename For Output As #1
For r = 1 To NumRows
For c = 1 To NumCols
Data = ExpRng.Cells(r, c).Value
If IsNumeric(Data) Then Data = Val(Data)
If IsEmpty(ExpRng.Cells(r, c)) Then Data = ""
If c <> NumCols Then
Write #1, Data;
Else
Write #1, Data
End If
Next c
Next r
Close #1
End Sub
Таблица большая. Я написал часть строчек. По поводу готового макроса. Я не понял что приводится в примерах которые по ссылкам. В своем первом посте, Я написал макрос. И просьба у меня лишь в том, чтобы имя файла при выгрузке соответствовало дате слева от номеров. т.е. выделяю 5136 и 7260, нажимаю макрос и у меня появляется файл txt с именем 11.07.2014 и в самом фале друг под другом 5136, 7260. Это возможно?
Проблемы нет. Вот файл. Как Вы понимаете, создавать вручную каждый txt для даты, очень долго. Поэтому и возникла необходимость в таком макросе. Как предложил HUGO, не получается. Ошибка 400.
в этом случае будет давать имя файла по дате для первой выделенной ячейки показателя. Если планируете выделять для разных дат - надо запихнуть в цикл, через коллекцию или словарь...