Новости:

Интересные и полезные статьи по работе с Excel и VBA
можно найти в разделе ХИТРОСТИ

Главное меню

Макрос экспорта данных в txt

Автор Noober90, 10.08.2016, 08:44:08

« назад - далее »

Noober90

Всем доброго времени суток! Помогите пожалуйста написать макрос. Есть таблица с данными разного типа (числа, буквы). Нужен макрос, который проверял бы на соответствие нужные ячейки и при положительной проверке добавлял данные в создаваемый txt файл.
Многие примеры перелопатил но отредактировать до нужного результата пока не удается. Даже элементарный экспорт из одной ячейки в txt не знаю как написать, и найти не получается. Все, что нашел, это:
Sub ExportAsText()
Open "C:\primer.txt" For Output As #1
Print #1, Join(Application.Transpose([c7:d7].Value), vbLf)
Close #1
End Sub

Но почему то не работает...
В прикрепленных файлах примеры того, что есть и должно быть.
Надеюсь на отзывчивость и адекватность.

vikttur

Кросс:
http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=80644&TITLE_SEO=80644-makros-eksporta-dannykh-v-txt

Noober90

Цитата: vikttur от 10.08.2016, 10:52:26
Кросс:
http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=80644&TITLE_SEO=80644-makros-eksporta-dannykh-v-txt
И что теперь?

Дмитрий Щербаков(The_Prist)

#3
Цитата: Noober90 от 10.08.2016, 11:36:45И что теперь?
Полегче, пожалуйста. Правила форума не читали? А между тем - Вы с ними согласились, регистрируясь на форуме. И в правилах про темы на другие форумы тоже написано:
Цитировать4.24. Если Вы создали тему не только на данном форуме, а на нескольких других(кросспостинг), то очень желательно указывать ссылки на другие форумы, где эта тема Вами так же создана. Таким образом Вы сможете дать понять участникам, что обсуждение проблемы ведется на разных форумах и, возможно, там уже есть ответ. Помните, что на тематических форумах, как правило, участники одни и те же и они все равно быстро определят наличие Вашей темы на других форумах.
И как видно - на том форуме обсуждение уже ведется, есть ответы. Поэтому не надо реагировать "чтоканьем", если модератор сделал то, что должны были сделать Вы сами. Это очень негативно настраивает в отношении Вас.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Дмитрий Щербаков(The_Prist)

Цитата: Noober90 от 10.08.2016, 08:44:08Надеюсь на отзывчивость и адекватность.
Мы тоже. Поэтому ознакомьтесь с правилами форума, чтобы в будущем не выглядеть самому неадекватным :)
Что же до самой темы
Цитата: Noober90 от 10.08.2016, 08:44:08Нужен макрос, который проверял бы на соответствие нужные ячейки и при положительной проверке
а что за проверка-то? В файле не очень понятно: то ли пустые строки не записывать, то ли еще какие критерии есть...
Одну ячейку записать вообще легко:
Print #1, [c7].Value
но что-то подсказывает, что записывать-то надо строку, нет?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Дмитрий Щербаков(The_Prist)

#5
Вот, по идее так должно работать:
Sub ExpTo_TXT()
    Dim rr As Range, rc As Range
    Dim lc As Long
    Dim s As String
    Set rr = Cells(1, 2).Resize(Cells(Rows.Count, 1).End(xlUp).Row)
    Open "C:\primer.txt" For Output As #1
    For Each rc In rr.Cells
        If rc.Value <> "" Then
            For lc = 1 To 8
                If lc = 5 Then
                    If Val(rc(1, lc - 1).Value) > 0 Then
                        s = s & String(Val(rc(1, lc - 1)), " ")
                    End If
                Else
                    s = s & rc(1, lc - 1)
                End If
            Next
            Print #1, s
            s = ""
        End If
    Next
    Close #1
End Sub

Чуть изменил код. Только вместо пустых символов пробел используется. Т.к. сам по себе пустой символ не даст длины строке, будь он хоть 100 раз записан.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

vikttur

Цитата: Noober90 от 10.08.2016, 11:36:45И что теперь?
Теперь на другом форуме Вы  самостоятельно разместите ссылку на обсуждение в этой теме

Noober90

Цитата: vikttur от 10.08.2016, 13:49:02Теперь на другом форуме Вы  самостоятельно разместите ссылку на обсуждение в этой теме
Хорошо, не вопрос!

Noober90

#8
[gmod]кнопка цитирования не для ответа [/gmod]
The_Prist, большое человеческое спасибо! Очень похоже на то, что нужно. Подробнее я объяснить пока не могу, т.к. сам не до конца понимаю, что нужно)). В ближайшее время уточню и обязательно дополню свой вопрос. При удачном исходе в долгу не останусь!
Только тему пока не закрывайте пожалуйста...

Noober90


Яндекс.Метрика Рейтинг@Mail.ru