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

Страницы: 1 2 3 4 След.
Запрет на сохранение файла при наличии пустых ячеек., как сохранить файл когда ячейки пусты но сохранить запрет
 
Пытливый, А понял Вас!!! Тогда конечно не шаблон!
МатросНаЗебре, Спасибо, тоже вполне удобно!!!
Благодарю Вас за помощь!!!!
Изменено: Семен Фадеев - 27.04.2022 15:47:26
Запрет на сохранение файла при наличии пустых ячеек., как сохранить файл когда ячейки пусты но сохранить запрет
 
Пытливый,  спасибо идея с очисткой при открытии вполне приемлема, но это реально шаблон, он запаролен и открывается только для чтения, заполняется и сохраняется куда нужно пользователю, а оригинал остается нетронутым!!!

МатросНаЗебре, не понял сути строки
Код
ThisWorkbook.Names("CheckEmpty").RefersToRange.Value

а у меня на нее ругается прошу небольшой комментарий что она означает.
Переименование файлов по содержимому в ячейке
 
Самое лучшее для получения помощи приложить небольшой пример! и желаемый результат.
Запрет на сохранение файла при наличии пустых ячеек., как сохранить файл когда ячейки пусты но сохранить запрет
 
Доброго времени суток форумчане! Столкнулся с жесточайшим парадоксом ищу как выкрутиться!
У меня есть шаблон пустая таблица со строками и когда пользователь этот шаблон использует я хочу запретить сохранение пока он не заполнит столбец номер семь!
Вот макрос:
Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim i&
With Range("Таблица2").Parent.Range("G8:Таблица2")
   For i = .Row To .Row + .Rows.Count - 1
       If IsEmpty(.Parent.Cells(i, 7)) Then
           Cancel = True
           .Parent.Activate
           Cells(i, 7).Activate
           MsgBox "Заполните пустые ячейки основного обозначения или удалите лишние строки!!!", vbCritical
           Exit Sub
       End If
   Next
End With
End Sub

Но я не могу сохранить шаблон с макросом потому что строки пусты!!! как мне обойти это????
Может можно сделать макрос который активирует (создает)  макрос запрета только при открытии файла?
Тормозит выпадающий список с поиском на большое количество строк через комбобокс, ищу пути решения
 
Доброго дня форумчане. Загоняю в массив довольно большую таблицу, хотя мне кажется это не особо должно нагружать оперативку всего 12000 строк, но комбобокс с выпадающим списком очень подтормаживает при вводе значения для поиска. Может есть какая то возможность  "облегчить"?
Перебор по массиву из 1 значения не работает Ubound
 
МатросНаЗебре, Огромное спасибо! Вы мне очень помогли!
Перебор по массиву из 1 значения не работает Ubound
 
Добрый день я загоняю в массив столбец умной таблицы
Код
arrAnalisTMC = Range("Analis[Цена согласно ТМЦ]").Value

а когда пытаюсь перебором со всеми элементами массива произвести действие
Код
For i = 1 To UBound(arrAnalisTMC)

если в таблице только одна строка у меня выдает ошибку Type mismatch (возможно arrAnalisTMC  становится простой переменной) если больше строк то все работает нормально,
как мне это обойти?
Файл не прикрепляю потому что огромный и много справочников привязано
Изменено: Семен Фадеев - 31.03.2022 09:20:25
Закрыть книгу Excel кодом VBA исполняемым в сторонней программе
 
Здравствуйте пишу скрипт для стороннего планировщика и в нем можно использовать код VBA, только он работает немного иначе чем из под редактора Excel и нужна Ваша подсказка. Вот так я файл открываю:

Код
Sub OpenAndRun(xlFileName)
  Set xlApp = CreateObject("Excel.Application")
  'remove next line to make Excel invisible
  xlApp.visible = true
  xlApp.WorkBooks.Open xlFileName, , , , ,1234
    'Uncomment next line to quit Excel
  'xlApp.quit
End Sub

А как мне потом закрыть нужный мне файл, если будут открыты при этом другие? GetObject использовать или другой метод? потому что например Excel.Application.WorkBooks(xlFilename).Close SaveFile:=False не работает (говорит нельзя скобки).
Как обратиться к таблице которая еще не создана и неизвестно какой будет у нее номер(индекс)
 
Jack Famous, Бахтиёр, Охохо Друзья, сколько всего интересного мы прошли сегодня, спасибо, положил в копилку знаний!!! Всех с Наступающим Новым Годом!!!
Как обратиться к таблице которая еще не создана и неизвестно какой будет у нее номер(индекс)
 
Цитата
Jack Famous написал:
• если таблица на листе одна, то можно к ней совершенно однозначно обратиться по индексуWorkSheets().ListObjects(1)
Jack Famous, Это гениально, а Я думал что индекс у таблиц книги а не таблиц листа))) Тогда вообще нет проблемы выходит, таблица то всегда одна))! Спасибо Вам в очередной раз, жму Вашу пушистую лапу!!!
Одна ячейка в нескольких столбцах, как сделать в одном
 
Просто удалите лишние столбцы. Ручками, за примерно 15-30 секунд.

выделяете лишние столбцы с последнего, оставляя первый => правая кнопка мышки => удалить
и так по каждому столбцу таблицы
Изменено: Семен Фадеев - 28.12.2021 08:54:57
Как обратиться к таблице которая еще не создана и неизвестно какой будет у нее номер(индекс)
 
Цитата
Ігор Гончаренко написал:
нужно хоть что-то о ней знать
Все что мы о ней знаем что это будет новая умная таблица, каждый следующий год. Сейчас попробую маленький образец добавить. Добавил выше!
Изменено: Семен Фадеев - 28.12.2021 08:45:30
Как обратиться к таблице которая еще не создана и неизвестно какой будет у нее номер(индекс)
 
Доброго времени суток форумчане, желаю универсализировать уже имеющийся макрос, чтобы каждый год не вносить изменений.
Каждый год создается новый лист с идентичной таблицей и есть лист на котором идут расчеты при помощи макроса по годам.
Т.е. мы выбираем год и следующая формула подгружала данные с таблицы в массив для дальнейших действий:
Код
tb1 = ActiveWorkbook.Sheets("Исполнено_2021").ListObjects("Таблица4").DataBodyRange.Value

я её переделал слегка для того чтобы брать нужный лист:
Код
yearNum = Cells(2, 2)
tb1 = ActiveWorkbook.Sheets("Исполнено_" & yearNum).ListObjects("Таблица4").DataBodyRange.Value

А как обратиться к нужной таблице? Я предполагаю может можно взять индекс последней на последнем листе (2021) и через номер года вычислять индекс следующей? ну например на листе 2021 таблица с индексом 6 то для листа 2022 и любого следующего будет
Код
tabIndex = yearNum - 2015

и тогда универсальный код массива будет
Код
yearNum = Cells(2, 2)
tabIndex = yearNum - 2015
tb1 = ActiveWorkbook.Sheets("Исполнено_" & yearNum).ListObjects(tabIndex).DataBodyRange.Value

А может есть путь по красивее и адекватнее?
Вот привел пример файла в него будет добавляться в следующем году лист Исполнено_2022 потом через год Исполнено_2023 и на каждом новая умная таблица аналогично прошлому году. Как мне универсально загонять данные в массив tb1 при выборе нужного года соответственно? как обратиться к нужному листу я понимаю
Код
yearNum = Cells(2, 2)
tb1 = ActiveWorkbook.Sheets("Исполнено_" & yearNum)
... а как к новой таблице?
Изменено: Семен Фадеев - 28.12.2021 08:45:05
Цена из другой таблицы для продукта по названию, который отличается первыми символами
 
amfor, нужно цену, а не количество ;-)
Цитата
amfor написал:
=ЕСЛИ(A20="";0;ВПР(ЗАМЕНИТЬ(A20;4;1;"");'таблица 2'!$A$14:$C$27; 3 2;0))
Изменено: Семен Фадеев - 28.12.2021 08:07:15
Цена из другой таблицы для продукта по названию, который отличается первыми символами
 
AK Shoo, Привет вот
Код
=ЕСЛИ(A20="";0;ВПР(ПСТР(A20;5;ДЛСТР(A20)-4);'таблица 2'!$A$15:$C$27;2;0))

Ты в формуле выделил только столбец с наименованиями товара, а нужно выделить всю таблицу чтобы формула могла выдать значения из второго или третьего столбцов. А если у тебя отличается наличием слова Red, то тебе просто любым способом нужно убрать первые четыре знака из названия на первом листе.
Как правильно преобразовать переменную в дату?
 
Цитата
sokol92 написал:
Иначе могут быть проблемы, если Вы поделитесь своим файлом
Я делаю это для своего работодателя для внутреннего пользования на сервере организации, поэтому такой проблемы не возникнет. Если я начну делиться то мне придется еще кучу справочников и шаблонов отправлять.
qr code в таблице excel, проблема со вставкой куар кода в таблицу ексель
 
Ну дак объедините данные ячеек и сделайте на их основе QR. Если вам не нужен столбец с объединенными данными макросом создаете еще один столбец в который сливаете данные из всех ячеек в одну в каждой строке делаете QR и после удаляете столбец. Все просто.
Изменено: Семен Фадеев - 21.12.2021 13:29:36
Как правильно преобразовать переменную в дату?
 
Jack Famous, Спасибо за поздравление! Очень приятно! :)
И спасибо всем кто откликнулся, вы мне очень помогли!
Как правильно преобразовать переменную в дату?
 
Доброго дня дорогие)) Помогите имениннику советом, всегда с датами в тупик захожу
ситуация до нельзя простая.
Вот есть переменные
Код
        minDate = "30.06.2021"
        maxDate = "01.10.2022"

Вот есть условие
Код
If minDate < tb1(n1, 20) And tb1(n1, 20) < maxDate Then

дело в том что значение tb1 это дата в формате даты, а значения переменных maxDate и minDate это строка
подскажите как задать их в формате даты и можно ли написать условие укороченно так
Код
If minDate < tb1(n1, 20) < maxDate Then
? Заранее спасибо!
Как отменить запрос на сохранение перед закрытием книги при выполнении макроса Workbook_BeforeClose
 
Благодарю за варианты, Думаю людям пригодятся. Да и мне не помешают.
Ограничение прав редакции таблиц для пользователей
 
Msi2102,  Премного благодарен очень интересная статья, Я не прошу решения, Я сам хочу уметь!!! Нужны намеки наметки советы, например блок схему или логику какие функции применить, методы объекты...ну в общем советов жду только советов.
Ограничение прав редакции таблиц для пользователей
 
Доброго времени суток, Уважаемые!
Есть таблицы на нескольких листах(Столбцы одинаковые), листы условно: долги | дорога | исполнено. Необходимо запретить полное удаление строк из любой таблицы, но при этом сохранить возможность перенести строки из одной таблицы в другую (не скопировать, а именно перенести, то есть, в одной таблице строка исчезла, в другой добавилась), а так же сохранить любую другую редакцию ячеек.
Подскажите возможно ли это реализовать средствами Excel?
Как отменить запрос на сохранение перед закрытием книги при выполнении макроса Workbook_BeforeClose
 
БМВ, Дело в том что макрос копирует данные ячейки в другую книгу и закрывает ее в данной книге изменений не происходит. нужно просто закрыть. Сохранить или нет значения не имеет получается.
Я понимаю что могу использовать допустим код
Код
Application.DisplayAlerts = False

но мне же нужно вернуть значение True до закрытия книги, а значит запрос на сохранение все равно появится....
Спасибо за беспокойство, решил проблему вставив в конец макроса код
Код
ThisWorkbook.Save

Всё таки не зря говорят пробуйте пробуйте и еще раз пробуйте...
Тема закрыта.
Изменено: Семен Фадеев - 17.12.2021 08:18:36
доступ к редактированию файла с одного компьютера
 
Роман, Отредактировать права на файл средствами виндоус и разрешить редакцию только одному пользователю, а для всех сделать предварительно только чтение. Озадачьте сисадмина. А так правой кнопкой мыши на файле свойства, вкладка безопасность, выбираете группу пользователей, например Все, нажимаете изменить и запрещаете запись и другие разрешения, оставив только чтение и чтение и выполнение. а для пользователя нужного, отдельно добавляете разрешения на полный доступ или чтение и запись.
Изменено: Семен Фадеев - 17.12.2021 07:50:42
Как отменить запрос на сохранение перед закрытием книги при выполнении макроса Workbook_BeforeClose
 
Привет знатоки VBA подскажите, вот есть у меня книга и при закрытии выполняется макрос, и тут же после выполнения, вместо закрытия книги, excel спрашивает сохранить ли изменения... как мне от этого уйти? Чтобы закрывалась книга без вмешательства пользователя
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call numIn
End Sub

Это при том что перед запуском макроса книга сохранялась.
Изменено: Семен Фадеев - 17.12.2021 07:53:33
Разделить радиокнопки на группы на одном листе
 
Дмитрий(The_Prist) Щербаков, спасибо, всё предельно ясно. Вот теперь очень доступно. Спасибо!
Юрий М, Спасибо за совет!
Изменено: Семен Фадеев - 10.12.2021 07:33:03
Разделить радиокнопки на группы на одном листе
 
Дмитрий, Я заметил, не стали в макросе работать условия If OptionButton3.Value = True then хотя в коде самого листа все нормально работает...

, , Юрий М, никак не получается обратиться к человеку приходится самому имя писать, Просто тема не раскрыта оказалась. предлагаю все таки более подробные варианты решения написать или указать ссылки на инфу.
Дмитрий, не могли бы вы поподробнее немного про контейнеры, мне непонятно. если речь про элемент управления группа, все очень мелкое и некрасиво получается.

PS И еще одно у не "актив икс" элементов нельзя изменить шрифт и размер текста что вообще ужасно....
Изменено: vikttur - 10.12.2021 09:54:55
Разделить радиокнопки на группы на одном листе
 
Спасибо задача решена через Active X , через группировку в свойствах Group Name. Можно удалить данный топик, поскольку пользы людям он не принесет.
Разделить радиокнопки на группы на одном листе
 
Можно ли сгруппировать радиокнопки чтобы иметь возможность в каждой группе выбрать одно значение?

Например:
Выбор из группы:
Формула 1
Формула 2
Формула 3

Выбор из группы:
Столбец 1
Столбец 2
Столбец 3

и т.д.
Изменить(отключить) условия запуска макроса(часть кода макроса) при помощи кнопки(радиокнопки, другого макроса)
 
Цитата
написал:
"Обернуть" отключаемый блок в If.... End If
Блин, все гениальное просто! Когда вижу решения, иногда кажется что Я вообще думать разучился) Спасибо огромное, низкий поклон.
Страницы: 1 2 3 4 След.
Наверх