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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2011, 03:40   #1
Emmk
Новичок
Джуниор
 
Регистрация: 24.09.2011
Сообщений: 2
По умолчанию Создание текстовых файлов на VBA

Доброе время суток! Скажу сразу - в программировании под офис я новичок, поэтому не судите строго за глупость вопроса.
Суть проблемы - есть код, который ищет в таблице ячейки иного типа чем General.

Цитата:
While Cells(j, i).Value <> Empty
While Cells(i, j).Value <> Empty

If Cells(i, j).NumberFormat <> "General" Then
End If
i = i + 1
Wend
i = 1
j = j + 1
Wend
Найденные таким образом ячейки, я хочу записывать в текстовый файл. Формата "Координаты ячейки" - "Значение ячейки".
Проблема в том, что не могу найти функцию создания текстового файла. Возможно ли это реализовать?

Либо вариант 2 - найденные ячейки писать на новый лист в подобном же формате, но как переключатся между листами вообще не представляю.
Подскажите как лучше быть. Заранее большое спасибо!
Emmk вне форума Ответить с цитированием
Старый 24.09.2011, 05:32   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
r = 2:  sh = 2:  sheets(sh).[a:b].clearcontents
sheets(sh).cells(1,1) = "Инфо о ячейках листа " & activesheet.name
for each cell in activesheet.usedrange
  If Cell.NumberFormat <> "General" Then 
    sheets(sh).cells(r,1) = cell.address
    sheets(sh).cells(r,2) = cell.value
    r = r+1
  end if
next
вместо 2 укажите номер листа, на который макрос сложит данные. внимание!: макрос очистит две первые колонки указанного листа перед началом работы.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 24.09.2011, 05:53   #3
Emmk
Новичок
Джуниор
 
Регистрация: 24.09.2011
Сообщений: 2
По умолчанию

Огромное спасибо!
Emmk вне форума Ответить с цитированием
Старый 24.09.2011, 09:07   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

В файл еще проще:
Код:
Sub Emmk()
Dim c As Range
Open "c:\temp\NonGeneral.txt" For Output As #1
For Each c In ActiveSheet.UsedRange
    If c.NumberFormat <> "General" Then Print #1, c.Address(0, 0), c.Value
Next
Reset
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ОБРАБОТКА текстовых файлов Kirillnd C++ Builder 2 31.07.2011 16:40
Чтение текстовых файлов. the_deer_one Общие вопросы C/C++ 3 05.04.2010 14:06
Обработка текстовых файлов Маринка777 Общие вопросы .NET 2 22.12.2009 17:37
Сравнение текстовых файлов BR17UY Общие вопросы Delphi 15 07.05.2007 20:18