Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Экспорт в текстовый файл
 
При экспорте листа эксель в текстовый файл с разделителями табуляцией (нужно только так) происходит бардак. Большая часть значений получается в кавычках. Экспорт делаю с помощью простого макроса (два макроса точнее, текущий лист и все листы книги). При экспорте файла вручную "Сохранить как..." этого нет. Непонятно что это такое. Этот текстовый файл потом как база данных для другой программы используется, и наличие кавычек нежелательно, а побороть не могу эту напасть. И форматирование удалял и чего только не пытался сделать... самое непонятное, что некоторые значения без кавычек получаются, системы никакой не заметил, почему так, верней вроде есть, где есть запятая, там запись берётся в кавычки, НО при тех же самых условиях, но с сохранением в ручную, нет этих кавычек! (пробовал писать процесс сохранения макрорекордером, в файле нет кавычек, после запуска записанного макроса есть кавычки) Может кто знает откуда это всё берётся? Файл Экселя (исходник) и текстовый файл прилагаю.
Изменено: FlintFD - 23.03.2014 20:06:28
Получение суммы ячеек с одним адресом с листов одной книги при выделении диапазона
 
Здравствуйте, есть код:
Код
Sub Макрос2()
Dim i As Integer, Rng As String, x As Range
Set x = Application.InputBox("Ткните мыхой в ячейку, с которых нужно суммировать.", "Выбираем ячейку...", Type:=8)
    Rng = x.Address
    ActiveSheet.Range(Rng).ClearContents
    For i = 1 To Sheets.Count
        With Sheets(i)
            If .Name <> "Итоговоый" And .Name <> "Спец лист" And IsNumeric(.Range(Rng)) Then
                ActiveSheet.Range(Rng) = ActiveSheet.Range(Rng) + .Range(Rng).Value
            End If
        End With
    Next
End Sub

Данный код позволяет выводить сумму ячеек с одним адресом со всех листов книги в туже ячейку листа на котором запущен (это лист Итог), за искл. двух обозначенных листов, только работает это при выборе одной ячейки, что при необходимости провести подсчёт скажем ячеек 50 теряет смысл, тогда уж через функцию СУММ и затем протягивать ячейку с формулой в нужные стороны, как раз этого и осуществляется попытка избежать. Как сделать так чтобы можно было выделить диапазон и были просуммированы ячейки этого диапазона по отдельности, с выводом результата на лист Итог (где собственно и указывался диапазон)?
И второй вопрос, как сделать чтобы те ячейки которые были исключены из расчёта окрашивались в цвет. Это пытался реализовать, но знаний не хватает, после строки
ActiveSheet.Range(Rng) = ActiveSheet.Range(Rng) + .Range(Rng).Value
добавляю строку :
If IsNumeric(.Range(Rng)) <> False Then .Range(Rng).Interior.Color = 255
Закрашиваются ячейки на всех листах (посчитанные) включая Итог, а как раз ячейки на листе где в ячейке что попало и лист Оглавление не красится, меняю <> на =, вообще ничего не закрашивается, с True такаяже петрушка (но конечно со знаками наоборот).
Изменено: FlintFD - 24.01.2013 20:02:57
Сортировка собираемых данных, При работе макроса данные сортируются от последнего
 
Сам в написании макросов ничего не смыслю, нашёл на одном из форумов подходящий для своих нужд макрос. При его запуске собирает данные из всех файлов находящихся в одной папке и данные с листов с одинаковым названием собирает на такой же лист в открытом файле, заполняя этими данными последовательно этот лист вниз. Но работает данный макрос хитро, все собираемые данные вставляет с сортировкой от последнего. Т.е. при наличии листов с именами 1,2,3... он их выстраивает как ...3,2,1, но это не принципиально, а вот то что данные из файлов с именами 1,2,3... он вставляет в порядке обратном, это уже серьёзно. Прилагаю файл с макросом, может кто чего подскажет?
Изменено: FlintFD - 07.01.2013 19:47:18
Пустые поля в сводной таблице
 
Доброго времени суток!
Периодически возникает проблема (вроде и не критическая но всё же...). Есть книга, в книге на одном из листов есть таблица с данными. В целях исключения шаловливых ручек, создаётся ещё одна книга (файл), создаётся подключение к первой книге, к существующей в ней базе, и во второй книге создаётся сводная таблица. И в этой сводной таблице волшебным образом появляются левые поля, откуда берутся непонятно, имеют имя в виде F21, F22 и т.д. данные поля пустые (т.е. даже при вызове их свойств выводится что этих самых свойств нет). В первоисточнике естественно этих столбцов просто нет! Вроде и не критично, но боюсь замучают вопросами, а это чего? а я сам разобраться не могу и как с этим бороться тоже не могу понять. Помогает создание нового файла, копирование данных таблицы (исключительно выделением на листе) и вставка в новый файл.
Кстати, при создании сводной таблицы на отдельном листе первой книги этих полей нет.
Изменено: FlintFD - 02.01.2013 19:30:25
Страницы: 1
Наверх