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

Страницы: 1
Экспорт в текстовый файл
 
У меня вся фишка в том была, что в значениях должны были быть и запятые и точки. При разных вариантах имеем или все точки, или где были запятые кавычки. В общем бардак. куда это всё потом вставляется тупо не умеет считать цифры с запятыми. Т.е. Имеем наименование (марку) КСПВ-3х2,5   именно так и должно быть написано в последующей спецификации, но для того чтоб посчитать падение напряжения на скажем 10 м кабеля, нам надо уже чтоб попало в этот же файл не 2,5 а 2.5 (много разных значений ещё, масса, удельное сопротивление и т.д), намучился в общем, следующая программа иногда просто переставала воспринимать файлы текстовые, структура ломалась. Плюнул в общем на это безобразие, с кавычками экспортировал, а потом средствами следующей программы программы убираю кавычки и всё в красивом виде куда надо ставится (пришлось правдо дополнительную переменную мудрить), и считает всё нормально. Ещё фишку экселя заметил при конвертации, если внутри одной ячейки был сделан принудительный перенос, то туда тоже кавычка вставляется, вся база конкретно лететь начинает...
Экспорт в текстовый файл
 
Так все цифровые данные в нули превращает.
Экспорт в текстовый файл
 
Спасибо, работает. Региональные настройки оказывается виноваты  :) , нда... Теперь другая забота, программа которая потом считывает базу данных, в качестве разделителя десятичной дроби запятую не принимает  :) . Принудительная замена запятой на точку, перед сохранением, эффекта не даёт, в цифрах всё равно запятая в текстовом файле. Всё равно не понятно, почему при ручном сохранении всё пучком (все запятые на месте, кавычек нет, точки взамен запятых в цифрах появляются) а макросом где нибудь да подковырка.
С такими делами придётся удалять из текстового файла кавычки вручную, но из 10+ файлов (у меня их уже около 50) ну очень муторное занятие... в добавок эти базы планируется обновлять частенько, не дело однако это.
Изменено: FlintFD - 23.03.2014 21:08:48
Экспорт в текстовый файл
 
При экспорте листа эксель в текстовый файл с разделителями табуляцией (нужно только так) происходит бардак. Большая часть значений получается в кавычках. Экспорт делаю с помощью простого макроса (два макроса точнее, текущий лист и все листы книги). При экспорте файла вручную "Сохранить как..." этого нет. Непонятно что это такое. Этот текстовый файл потом как база данных для другой программы используется, и наличие кавычек нежелательно, а побороть не могу эту напасть. И форматирование удалял и чего только не пытался сделать... самое непонятное, что некоторые значения без кавычек получаются, системы никакой не заметил, почему так, верней вроде есть, где есть запятая, там запись берётся в кавычки, НО при тех же самых условиях, но с сохранением в ручную, нет этих кавычек! (пробовал писать процесс сохранения макрорекордером, в файле нет кавычек, после запуска записанного макроса есть кавычки) Может кто знает откуда это всё берётся? Файл Экселя (исходник) и текстовый файл прилагаю.
Изменено: FlintFD - 23.03.2014 20:06:28
Получение суммы ячеек с одним адресом с листов одной книги при выделении диапазона
 
Огромное спасибо!
Добавлю отключение обновления экрана, а то на 20 суммируемых листах заметно долго работает.
Теперь моя собиралка отчётов будет полноценна! :)
Получение суммы ячеек с одним адресом с листов одной книги при выделении диапазона
 
1.Так переименовал же : Образец 1.2 стал.
2. Условие такое же как и на ячейку практически: Если на листе в суммируемом диапазоне нет ячеек со значением "не число" то цвет ярлыка по умолчанию.
3. С суммированием правильно! Огромное спасибо! Никак не мог прикрутить правильно цикл...
Получение суммы ячеек с одним адресом с листов одной книги при выделении диапазона
 
С окраской подправил, только вылезло другое, с окраской ячеек проблем нет, красит когда "не число" и убирает когда поправлено. С листом хуже, красит когда на этом листе есть ячейка с "не числом", а вот не убирает окраску. Не там стоит условие когда убрать окраску, вот только куда его переставить?
Получение суммы ячеек с одним адресом с листов одной книги при выделении диапазона
 
На листе Итог кнопка, по кнопке выделяется ячейка, (в выделенном диапазоне, т к. на остальных листах только там данные). При работе макроса в выделенной ячейке на листе Итог вставляется собственно сумма всех одноадресных ячеек с остальных листов. Работает только при выделении одной ячейки, при выделении диапазона ошибка, ошибку заглушил. Диапазон в последствии будет произвольный, в любом месте листа. Если в подсчитываемом диапазоне присутствуют ячейки с "не число" то эти ячейки закрашиваются и соответствующий лист, ярлык, тоже, при вводе нормального значения, при пересчёте, все цвета принимают значения по умолчанию (у меня так и сделано, но по одной ячейке)
Изменено: FlintFD - 27.01.2013 11:25:12
Получение суммы ячеек с одним адресом с листов одной книги при выделении диапазона
 
Переделал в XLS
Получение суммы ячеек с одним адресом с листов одной книги при выделении диапазона
 
Перечитал, закрасить те которые учавствовали но удовлетворяют условию что...
Этот вопрос мною решён, см. прикреплённый файл.
Получение суммы ячеек с одним адресом с листов одной книги при выделении диапазона
 
Код макроса в первом посте. Но может и так будет действительно проще, прикрепляю. Дополнительно мною реализовано помимо закрашивания ячейки в красный цвет, закрашивание ярлыка листа в с битой ячейкой в красный цвет, при исправлении значения в ячейке всё возвращается к нормальным значениям цвета. Но блин выделение диапазона и подсчёт... голову сломал.
Получение суммы ячеек с одним адресом с листов одной книги при выделении диапазона
 
С закрашиванием ячеек справился, но чтоб считало при выделении диапазона совладать не могу.
Получение суммы ячеек с одним адресом с листов одной книги при выделении диапазона
 
Нашёл вот такое решение:
Код
Sub Сумма1()
ActiveCell.FormulaR1C1 = "=SUM('*'!RC)"
End Sub

Вот только проблема, считает все листы за исключением активного, есть ли возможность исключить ещё один определённый лист? Или чую что наверно нельзя...
И опять же не работает с предварительно выделенным диапазоном, только по одной ячейке, но хоть протягивать потом можно...
Изменено: FlintFD - 25.01.2013 12:12:01
Получение суммы ячеек с одним адресом с листов одной книги при выделении диапазона
 
Закрасить надо только ячейки, которые учавствовали в суммировании и удовлетворяют условию: ячейка не пуста и в ней содержится не число, т.е. те которые не учавствовали в суммировании по причине того что в них ерунда написана.
Получение суммы ячеек с одним адресом с листов одной книги при выделении диапазона
 
Вот код перебора и не могу сделать, не хватает знаний, сам такого не сделаю... Закрасить не много получится, скажем 30-100 ячеек надо считать, 27 листов, есть пустые ячейки (думаю они к нулю приравниваются), есть 0, есть цифры, и есть записи в виде 1т.р. вместо 1000, или вместо 0 стоит -, таких не много, но их надо выловить, чтоб позвонить и ласково :) попросить поправить, из всего массива ну штук 5-10 будет,которые и надо закрасить.
P.S. Спрашивал, оба вопроса, на excel-vba.ru, но как то там форум умер... код кстати Ваш вроде, большое спасибо... полторы строчки мои :)
Получение суммы ячеек с одним адресом с листов одной книги при выделении диапазона
 
Здравствуйте, есть код:
Код
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
Сортировка собираемых данных, При работе макроса данные сортируются от последнего
 
Случаен... Я пытался собирать 3,5 и 10 файлов, причём неоднократно (пока разбирался какая функция отвечает за вставку пустых строк между собираемыми данными), и во всех случаях сортировка была от конца, поэтому и решил что где то в коде собака зарыта, ни разу в случайном порядке не вставилось.
Сортировка собираемых данных, При работе макроса данные сортируются от последнего
 
Сори, ошибся с расширением, там XLSM.
Сортировка собираемых данных, При работе макроса данные сортируются от последнего
 
Что то гдето глюкнуло однако.
Вот, в последнем сообщении файлы нормальные, оба.
Изменено: FlintFD - 07.01.2013 19:40:14
Сортировка собираемых данных, При работе макроса данные сортируются от последнего
 
Пересохранил в XLS, теперь у меня не работает, наверно потому что собирать пытается XLSX.
Также добавил XLSM запакованный, почему то в первом сообщении он дошол криво, у меня тоже не открывает
Изменено: FlintFD - 07.01.2013 19:50:01
Сортировка собираемых данных, При работе макроса данные сортируются от последнего
 
Сам в написании макросов ничего не смыслю, нашёл на одном из форумов подходящий для своих нужд макрос. При его запуске собирает данные из всех файлов находящихся в одной папке и данные с листов с одинаковым названием собирает на такой же лист в открытом файле, заполняя этими данными последовательно этот лист вниз. Но работает данный макрос хитро, все собираемые данные вставляет с сортировкой от последнего. Т.е. при наличии листов с именами 1,2,3... он их выстраивает как ...3,2,1, но это не принципиально, а вот то что данные из файлов с именами 1,2,3... он вставляет в порядке обратном, это уже серьёзно. Прилагаю файл с макросом, может кто чего подскажет?
Изменено: FlintFD - 07.01.2013 19:47:18
Пустые поля в сводной таблице
 
Действительно сводная. В новом файле создаём подключение, в подключении указываем файл базы и таблицу данных. Вставляем в новом файле сводную таблицу, вибираем внешний источник данных и соответствующее подключение. Получаем сводную таблицую Исходный файл базы данных будет лежать в сети, в расшаренном только для чтения месте (сетевое хранилище с настроенными правами доступа), каждый будет делать сам себе необходимую конфигурацию итого. Просто данные будут менятся, и каждому на автомате эти изменения и будут предоставляться.
Пустые поля в сводной таблице
 
Да, созданная в основном файле сводная таблица без левых полей.
Немного подточню, пока идёт так сказать настройка базы, в ней исключительно текстовая информация, списки подразделений и сотрудников, с их данными. Пока праздники, делать нечего, вот и ваяю, постоянно чего то правлю и перемещаю. За диапазоном данных слежу, это стандартная таблица данных, которой присвоено уникальное имя. Откуда берётся левак... непонятно.
Изменено: FlintFD - 02.01.2013 20:06:05
Пустые поля в сводной таблице
 
Смысл такой, есть файл с базой, необходимо на основе его данных создавать различные графики и ещё много чего. Криворукость и шаловливость пользователей подразумевают исключение их доступа к первоисточнику (если всё не снесут то это хорошо), во вторых, цели у пользователей разные, наличие в одном файле десятков листов не есть хорошо. Есть основа, которая периодически меняется и на её основе пусть каждый делает чего хочет. Наличие определённых полей с понятными именами объяснить можно, а вот когда начнут теребить что это за левые поля, и почему при внесении в сводную таблицу ничего нет, это я некоторым сотрудникам не в состоянии объяснить буду.
Пустые поля в сводной таблице
 
Доброго времени суток!
Периодически возникает проблема (вроде и не критическая но всё же...). Есть книга, в книге на одном из листов есть таблица с данными. В целях исключения шаловливых ручек, создаётся ещё одна книга (файл), создаётся подключение к первой книге, к существующей в ней базе, и во второй книге создаётся сводная таблица. И в этой сводной таблице волшебным образом появляются левые поля, откуда берутся непонятно, имеют имя в виде F21, F22 и т.д. данные поля пустые (т.е. даже при вызове их свойств выводится что этих самых свойств нет). В первоисточнике естественно этих столбцов просто нет! Вроде и не критично, но боюсь замучают вопросами, а это чего? а я сам разобраться не могу и как с этим бороться тоже не могу понять. Помогает создание нового файла, копирование данных таблицы (исключительно выделением на листе) и вставка в новый файл.
Кстати, при создании сводной таблицы на отдельном листе первой книги этих полей нет.
Изменено: FlintFD - 02.01.2013 19:30:25
Страницы: 1
Наверх