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

Страницы: 1 2 3 4 5 6 7 След.
Что влияет на работу Excel со скрытыми ячейками?, Где есть галочка, которая управляет способом обработки скрытых ячеек?
 
В свете новых знаний.  :idea:
Фильтр влияет не только на копирование/вставку диапазонов ячеек, но и на копирование/перенос/вставку целых строк:
1. Если фильтр не включен, то скопировав строку, мы можем её вставить по команде "Вставить скопированные ячейки" из контекстного меню строки;
2. Если фильтр включен, то вставка строки происходит по команде "Вставить строку из буфера".
3. А если включен фильтр и имеются скрытые столбцы, то копирование строки вообще не получится (нет команды в контекстном меню)

Если включен фильтр, то любые скрытые ячейки обрабатываются, как отфильтрованные.
Что влияет на работу Excel со скрытыми ячейками?, Где есть галочка, которая управляет способом обработки скрытых ячеек?
 
Цитата
написал:
Будете удивлены
Век живи, век учись!  :oops:
С этой стороны я не рассматривал.

Рассматривая в таком ключе... Как могут скрытые столбцы мешать копировать ячейки? Мы можем скрыть столбцы структурой или вручную. Какие-то ещё варианты имеются, что могут по-разному трактоваться при копировании и вставке строк?
Что влияет на работу Excel со скрытыми ячейками?, Где есть галочка, которая управляет способом обработки скрытых ячеек?
 
Вот другой файл. В нём данные копируются из диапазона, включая скрытые ячейки.
Строки тоже копируются без проблем, невзирая на наличие скрытых столбцов.
Что влияет на работу Excel со скрытыми ячейками?, Где есть галочка, которая управляет способом обработки скрытых ячеек?
 
Цитата
написал:
зависеть от версии офиса
По моим наблюдениям, зависимость от версии офиса, в котором создан файл, но не от версии офиса, в котором открыт файл.
Что влияет на работу Excel со скрытыми ячейками?, Где есть галочка, которая управляет способом обработки скрытых ячеек?
 
Дмитрий(The_Prist) Щербаков, Не соглашусь. Приложить примеры не могу, т.к. они, как правило, содержат информацию, а в процессе чистки от информации где-то слетают какие-то настройки (не обвиняйте меня в обращении к потусторонним силам  :) ).
При вставке в "рваные" диапазоны Excel тоже работает по-разному:
  • может сказать, что не может вставить;
  • может вставить, невзирая ни на что, как в приложенном выше файле;
  • но также я встречал ситуации, что Excel вставлял данные, игнорируя скрытые ячейки.
При копировании строк, если есть скрытые столбцы, аналогично бывают 3 вышеуказанные ситуации.

Но, что больше всего мешает, такое же поведение наблюдается при выполнении команд VBA по взятию данных в массивы (Range(Addr).Value). Приходится постоянно контролировать состояние фильтров и скрытия строк.
Что влияет на работу Excel со скрытыми ячейками?, Где есть галочка, которая управляет способом обработки скрытых ячеек?
 
Никак не могу понять, что влияет на обработку скрытых ячеек? От файла к файлу поведение Excel'я со скрытыми ячейками разное:
  • - есть файлы, в которых Excel полностью игнорирует скрытые ячейки;
  • - а есть такие, где Excel обрабатывает скрытые ячейки наравне с видимыми.
Для примера прикладываю файл, в котором скрыта строка 9. Если выделить данные, захватив скрытую строку, и скопировать их, то данные будут обработаны, исключая скрытую строку. Но если мы вставим данные в диапазон, охватывающий скрытую строку, то вставка будет выполнена и в скрытые ячейки тоже. Двойные стандарты?!
Где есть та галочка, которая управляет способом обработки скрытых ячеек?
О создании макроса расчета смет
 
Цитата
Jack Famous написал:
какие цены вы будете ставить, если в сметах они отличаются от региона и коэффициентов, а в жизни ещё от кучи факторов (типа объёма, доставки и курса рубля)
Голубая мечта всех руководителей: "Список укрупнённых работ"  8)
После вопросов: "габариты траншеи", "размер ковша экскаватора", "категория грунта" - обычно откладывается на неопределённый срок, хотя не забывается.  :(  
Microsoft отказывается от Excel?, Что же теперь со всеми нами будет?
 
Цитата
Alemox написал:
А поменялось-то чего ...  . Да ничего.
Как это ничего!!? - скорость работы снизилась!
Microsoft отказывается от Excel?, Что же теперь со всеми нами будет?
 
Цитата
Установившаяся тенденция падения популярности программы .... заставила руководство компании Microsoft задуматься об отказе от последующего развития одного из собственных самых известных продуктов
У меня вообще чувство, что Microsoft сама себе копает могилу и скоро начнёт оправдывать своё название - "Мелкие программы"  :D
...телефоны делает плохие, Windows испортила, теперь за офис взялась!  :(  
Python как замена VBA, Microsoft рассматривает возможность задейсвовать Python в качестве своего скриптового языка
 
Цитата
нельзя решить все задачи с помощью одного языка программирования
Не соглашусь! Основная причина - человеческие амбиции: "Если Билли создал ОСь, то и я смогу!..." и вкусовые предпочтения.

Не говорите мне, что Lisp работает быстрее, чем C, или на нём можно сделать, что-то, что нельзя на С! База-то у всех языков одна - двоичный код некоторого процессора! Просто Lisp для конкретного программиста удобнее для обработки некоторых типов данных (очень часто в ущерб производительности). При этом, другой программист может взять С, применить другую структуру данных и получить на выходе лучший результат (а при неправильном типе данных - худший).

Мелкомягкие один раз уже пытались заменить VBA - на платформу .NET. Результат известен...
Python может постичь та же участь - дело-то не в языке, а в реализации!..
О вредном GoTo
 
Не борюсь ни за, ни против Go To. Однако, признаюсь, что последний раз применял Go To  ещё на ZX-Spectrum (и последний раз она выглядела, как JP или JR - ассемблер Z80).
Потребности непосредственно в Go To у меня не возникает, хотя часто применяю Exit (For, Do, Sub...). Так же замечаю, что для меня разобраться в работе программы, где часто применяют Go To сложнее, чем без оного (а если ещё и структура не поддерживается...  :( :excl: )
Кстати, по выходу из цикла через Go To. Компилирующие языки могут реализовывать циклы, храня на стеке счётчик цикла, поэтому "выпрыг" из каскада циклов, сделанный по привычке, может однажды стать ошибкой (пусть не в VBA, а в каком-то другом языке).
Удобно ли работать в Excel на планшете Windows?
 
Мне вообще не нравится работать с сенсорным экраном пальцами - не важно Excel или что-то ещё - никакой точности попадания.  :excl:
Стилусами не работал, не знаю.  8)
Покупал жене планшет, так и лежит где-то - текст в блокноте набрать можно, а вот мультики в плеер для ребёнка накидать уже проблема. Какой уж тут Excel?  :(  
Организация контроля изменений в базе данных
 
Всем большое спасибо.  :D
Задача поставлена, направление понято. Буду работать.  8)

P.S. по мере возможности буду разбираться с MS SQL.  :excl:  
Организация контроля изменений в базе данных
 
Цитата
Андрей VG написал:
Боятся, увы, использовать и причины находят
...учитывая наличие Microsoft SQL Management Studio...
     В первую очередь - это всё деньги (про пиратство здесь не будем), которые для небольшой подрядной организации могут много значить. А Excel, хочешь-не хочешь, везде стоит, да и к базе Access через ADODB на любом компьютере цепляешься, не зависимо от наличия  установленного Access'а
     Во вторую - когда это не твоя основная обязанность, а занимаешься всем этим факультативно (зачастую по ночам), то установка, настройка, администрирование и изучение MS SQL Server'а могут стать очень большой головной болью! :(
Цитата
Андрей VG написал:
таблица истории изменений
     Андрей, а что посоветуете: отдельную таблицу в этой же базе или всё-таки другую базу?
Организация контроля изменений в базе данных
 
Цитата
pharmaprofi написал:
Поменять БД на ms sql
     Изначально хотелось использовать MS SQL.
     Выбор в пользу Access пал вследствие отсутствия опыта работы с MS SQL и наличия в Access графической оболочки, позволяющей заранее собрать базу, не нагружая свою программу лишним кодом.
     Кстати, вопрос. Надо ли устанавливать SQL Server для использования всех вкусностей MS SQL или же можно так же работать через ADODB, ничего дополнительно не устанавливая?
Организация контроля изменений в базе данных
 
Цитата
Jack Famous написал:
либо при первой выгрузке базы, либо при закрытии файла
Моя вина, не описал в постановке задачи. У меня система является надстройкой, постоянно загруженной в Excel. Поэтому не совсем подходит.
Цитата
Jack Famous написал:
А ещё вариант
Вариант от Андрей VG более удобен.
Спасибо!
Организация контроля изменений в базе данных
 
Цитата
Андрей VG написал:
Тем самым, коллега, вы нарушаете
Две головы всегда лучше, чем одна!
Цитата
Андрей VG написал:
По существу, вам нужны две разные таблицы
Идея принята. И она мне нравится! В самом деле, у меня почти не изменится  основной код, а все нюансы спрячутся в дополнительный код по управлению изменениями.
Цитата
Андрей VG написал:
просто периодически либо чистите таблицу истории
Читая Ваше сообщение, я подумал, что обязанность по очистке таблицы истории изменений от старья можно вменить учётной записи администратора, выдав ему для этого специальную кнопку <Очистить базу>.
Спасибо!
Организация контроля изменений в базе данных
 
Здравствуйте, дорогие форумчане!

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

     Я разрабатываю небольшую систему учёта документов для организации. Всё уже работает, но захотелось иметь возможность контроля изменений и реализации отката этих изменений.
     Система работает на связке Excel-VBA + база данных Access, подключаемая через ADODB.
     Работа системы организована следующим образом:
1. по нажатии кнопки на Ribbon выводится таблица с данными из базы;
2. двойным кликом на строке вызывается форма редактирования  строки (Записи);
3. при нажатии на кнопку <Принять> на форме происходит фиксация изменений и обновление таблицы.

     На данном этапе при любом изменении Записи, Запись переписывается в базе данных, замещая старые данные:
Код
Dim rs As New ADODB.Recordset
….
    rs.Open ………..
    If rs.RecordCount > 0 Then
        rs.MoveFirst
        rs.Update ……….
        rs.UpdateBatch adAffectCurrent
    End If
    rs.Close
     Теперь хочу сделать так, чтобы при любом изменении Записи, она не переписывалась, а добавлялась новая Запись с тем же ключом, новым временем изменения (добавления) и пользователем, что внёс эти изменения. Пользователи всегда будут видеть только «последнее состояние записи».
     Звучит красиво и несложно, но возникает одно большое «но»: засорение базы многими копиями объекта и, как следствие, увеличение объёма базы
     Напрашивается необходимость принять правило, что надо удалять дублирующиеся Записи со сроком давности более, чем ХХХХ. Для этого необходимо периодически сканировать таблицы в базе данных для поиска таких Записей. Если при программировании на «взрослых» языках программирования можно выделить отдельный процесс, занимающийся таким важным делом, то на VBA придётся встраивать сканирование в основной процесс, замедляя основные операции.
     Прошу вас высказать своё мнение, подкинуть новую идею, дать совет по вариантам реализации и организации этого процесса.
Изменено: Skif-F - 26.07.2017 00:46:30
Программно посчитать количество всех страниц (на печать) в книге Excel - VBA
 
Ну, решение "в лоб" (посчитал 23 страницы):
Скрытый текст
Изменено: Skif-F - 21.07.2017 14:34:19
Ускорить работу макроса, собирающего текст из нескольких ячеек в одну, - сделать код изящнее, Как бы так сделать, чтобы макрос работал быстрее
 
Цитата
Hugo написал:
Я тоже слегка изначальный код шлифанул
Какая была задача, таков и ответ. Есть смысл только от Delete избавиться.
Цитата
Hugo написал:
нужно делать как я выше написал
Если за это браться, то необходимо вникать во все тонкости и выпускать "готовый продукт".
А это разговор не то что не для этой темы, но и не для этого раздела.
Ускорить работу макроса, собирающего текст из нескольких ячеек в одну, - сделать код изящнее, Как бы так сделать, чтобы макрос работал быстрее
 
Решение "в лоб", не меняя логику автора, но без лишних обращений к ячейкам:
Скрытый текст
на полутора тысячах строк - выполнение мгновенное.
Можно ускорить ещё, применив массивы и выгрузку на другой лист, чтобы не удалять строки (достаточно медленная операция)
ERP Система, Нужен совет по внедрению на предприятии полноценной ERP Системы
 
Цитата
Vladimir1985 написал:
SAP это очень круто
SAP, как и 1С, - болванка, которую надо конфигурировать. Основная стоимость расходов, насколько я знаю, именно в конфигурации. У нас в городе на заводе конфигурацию SAP уже лет 10 до ума доводят, но тут в SAP запрятано всё: бухгалтерия, документооборот, складской учёт и т.д., и т.п.
TreeView NEW . Для ненаглядной UserForm
 
Цитата
yozhik написал:
что это и какая от этого польза? ничего не понял, прочитав всю тему.
Это элемент управления "Дерево" (TreeView), предназначенный для вставки на UserForm. Автор называет его TreeViewNEW.
Предназначен в качестве замены стандартному TreeView, поставляемому (подключаемому) библиотеками "msComctl.ocx, MSComctlLib, Microsoft Windows Common Controls 6.0 (SP6)".

Зачем надо.
1. Вышеуказанные стандартные библиотеки имеют свойство глючить при работе с VBA - то им версия не нравится, то ещё какие причины найдут.
2. Можно сделать что-то, что отсутствует в стандартных библиотеках, а вот в наш проект надо!

Состоит из 4 модулей класса:
- TreeViewNEW - само дерево. Добавляется в модуль UserForm:  Public WithEvents ИмяНашегоДерева As TreeViewNEW
- NodeNEW - класс, описывающий один узел
- NodesNew - коллекция узлов
- tvwInterface - "внутренняя шина передачи данных". Предназначен для сокрытия от пользователя всех лишних методов и свойств, чтобы пользователь работал с привычным интерфейсом TreeView.
Цитата
SuperCat написал:
Подскажите, а как понять использование интерфейса (tvwInterface) для РАЗНЫХ объектов
Написал выше.
При появлении программно созданой формы не срабатывает UserForm_Initialize
 
А у кого они (слова) есть? Вроде бы разжевали Бейсику всё до последнего: "Взять из модуля UserForm1 объект CB1..." Ан, нет! Тоже не нравится!
При появлении программно созданой формы не срабатывает UserForm_Initialize
 
Цитата
Jungl написал: попробуйте вызывать форму из другой процедуры
Хуже!
Замените строку:
Код
myForm.codemodule.insertlines 7, "pFilter.Open sSQL, FConn: UserForm1.CB1.Column = pFilter.GetRows"
на
Код
myForm.codemodule.insertlines 7, "pFilter.Open sSQL, FConn: Me.CB1.Column = pFilter.GetRows"
При появлении программно созданой формы не срабатывает UserForm_Initialize
 
Конечно нет. Если бы отображались, не стал бы проверять "напрямую"
При появлении программно созданой формы не срабатывает UserForm_Initialize
 
Здравствуйте.
Прошу прощения. 4 и 12 - не имеет значения. Ошибку нашёл у себя - при переносе и удалении кавычек строчкой выше sPath превратилась в msPath. В остальном работает!
При появлении программно созданой формы не срабатывает UserForm_Initialize
 
Ronin751, а Вы код обращения к базе данных напрямую пробовали прогнать? У меня на строке
Код
FConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sPath & ";"
выдал ошибку:
Цитата
Run-time error '-2147217843 (80040e4d)':
Не выполнена проверка подлинности.
Поправка макроса с выпадающим календерем
 
JeyCi, воспользуйтесь наработками Nerv'a и не нервничайте. Это достаточно сложная тема.  :(
Вопрос, скорее, организации данных и хранения их в массиве(ах) текстового типа и вытаскивания отдельных значений из текстовых значений
 
Где-нибудь там
Страницы: 1 2 3 4 5 6 7 След.
Наверх