Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Проверка на наличие пароля на листе с помощью VBA
 
Ігор Гончаренко, нашел еще такое решение:
Код
Sub Макрос1()   
   If ActiveSheet.ProtectContents = False Then   
       MsgBox "Лист не защищён!", vbInformation, ""   
   Else   
       MsgBox "Лист защищён паролем!", vbExclamation, ""   
   End If   
End Sub
Проверка на наличие пароля на листе с помощью VBA
 
Апострофф, спасибо!

Кошки-макарошки, видать домой пора уже) Все верно, забыл указать откуда брать информацию.

Указал после .Unprotect  пароль из переменной Password:=Pass и все заработало. Еще пять минут потерял пока искал пропущенную запятую после Pass и аргументами при постановке пароля))

Переменную записал как
Код
    Dim Pass$
    Pass = Range("A5").Value

Сам код на снятие
Код
    Workbooks(StartKA).Sheets(1).Unprotect Password:=Pass

И на постановку
Код
    Workbooks(StartKA).Sheets(1).Protect Password:=Pass, DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowInsertingRows:=True, AllowInsertingHyperlinks:=True, _
        AllowDeletingRows:=True

Это я написал если вдруг кому в будущем поможет)
Проверка на наличие пароля на листе с помощью VBA
 
Добрый день.

Уперся под конец дня в проблему, и нигде найти решения не могу.

1) Необходимо проверить есть ли на листе пароль, если есть, то снять, если нет, то GoTo. Как снять пароль знаю. Но если пароля на листе нет, то макрос почему то дальше не выполняется. Пароль находится в ячейке А5

Снимаю пароль так:
Код
Workbooks(StartKA).Sheets(1).Unprotect Range("A5").Value

2) Поправьте если не прав, я правильно на постановку защиты листа указываю откуда пароль брать?
Код
Workbooks(StartKA).Sheets(1).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _        
    , AllowInsertingRows:=True, AllowInsertingHyperlinks:=True, _
    llowDeletingRows:=True
Range("A5").Value

3) И как прописать что бы пароль брался из переменной а не обращался к ячейке каждый раз?  
Удалить все кнопки в книге
 
Цитата
Sanja написал:
Хотя-бы пример макроса приложите. Или предлагаете заново его писать?
Код
Sub DeleteShapes1()    'KuklP
    ActiveSheet.DrawingObjects.Delete
End Sub
Изменено: GertiyMV - 4 Сен 2018 08:58:14
Удалить все кнопки в книге
 
Добрый день.

Пришел файл весом под 6 мегабайт, после открытия выяснилось что там много кнопок всяких. В инете поискал, нашел макрос на удаление кнопок с листа, но там листов больше 15 и в каждом запускать команду не удобно. Помогите начать работать, а то с этим мамонтом каши не сваришь.  
Макрос на копирование данных из другого файла, Макрос уже нашел, не знаю как адаптировать под себя
 
arty_om, спасибо, с +0 тоже работает хорошо) - исправлю

Юрий М, Cells(rw, 1) ставим вместо Cells(iLastRow + 0, 1), правильно?

коллеги, еще вопрос, .Cells(1, 38) & .Cells(1, 43) складывает значения из двух ячеек, а как между ними поставить тире, по принципу формулы? .Cells(1, 38) & "-" & .Cells(1, 43) так?
Макрос на копирование данных из другого файла, Макрос уже нашел, не знаю как адаптировать под себя
 
arty_om, и что бы он мне вставлял не под выделенную строку а в эту строку изменить +1 на +0?
Код
Cells(iLastRow + 0, 2) = .Cells(5, 17)
Макрос на копирование данных из другого файла, Макрос уже нашел, не знаю как адаптировать под себя
 
arty_om, без проблем. теперь все ок.
похоже откуда и куда я разобрался. это Cells(iLastRow + 1, 3) = .Cells(5, 32) в формате R1C1?
только зачем в некоторых строках вставляется Value?
а вот как сделать что бы информация копировалась не в новую строку а туда где курсор я не понял.
Макрос на копирование данных из другого файла, Макрос уже нашел, не знаю как адаптировать под себя
 
Добрый вечер.
Необходимо в базу копировать данные из россыпи отчетов. Отчеты все идентичные по структуре. Нашел макрос похожий, но он копирует в новую строку, а мне надо что бы копировал в ту строку, где в данный момент выделена ячейка. В выделенную ячейку так же должно копироваться значение. И еще, не знаю как изменить выбор что и куда копируется, что бы выбрать откуда именно из отчета и куда именно в базу должно вставляться значение.

Макрос:
Код
Option Explicit

Sub Кнопка10_Щелкнуть()
Dim FD As FileDialog
Dim ItogWb As Workbook
Dim ItogWsh As Worksheet
Dim iFileName As String
Dim iShortFileName As String
Dim iLastRow As Long
    
    Set FD = Application.FileDialog(msoFileDialogFilePicker)
    With FD
        .Filters.Clear  'удаляет предопределенные фильтры
        .Filters.Add "Microsoft Excel files", "*.xls"
        .Filters.Add "All files", "*.*"
        .AllowMultiSelect = False   'если True-то выбор нескольких файлов
        .InitialFileName = ThisWorkbook.Path
        .Title = "Открытие документа с исходными данными"
        .ButtonName = "Открыть"
        If .Show = False Then
            MsgBox "Вы не указали нужный файл!", 48, "Ошибка"
            Exit Sub
        Else
        iFileName = .SelectedItems(1)
        iShortFileName = Right(.SelectedItems(1), Len(.SelectedItems(1)) _
- InStrRev(.SelectedItems(1), "\"))
            'If Right(UCase(iFileName), 4) = ".XLS" Then iFileName = Left(iFileName, Len(iFileName) - 4)
        End If
    End With
    Set FD = Nothing
    
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    
        iLastRow = Cells(Rows.Count, 2).End(xlUp).Row
    
    Set ItogWb = Workbooks.Open(Filename:=iFileName, UpdateLinks:=False, _
                                                        ReadOnly:=True)
    Set ItogWsh = ItogWb.Worksheets("Лист1")
    ThisWorkbook.Activate
    With ItogWsh
        Cells(iLastRow + 1, 1) = Cells(iLastRow, 1).Value + 1
        Cells(iLastRow + 1, 2).Value = .Cells(5, 17)
        Cells(iLastRow + 1, 3) = .Cells(5, 32)
        Cells(iLastRow + 1, 4) = .Cells(1, 38) & .Cells(1, 43) & .Cells(2, 43)
        Cells(iLastRow + 1, 5) = .Cells(5, 7)
        Cells(iLastRow + 1, 6) = .Cells(5, 10)
        Cells(iLastRow + 1, 7) = .Cells(5, 46)
        Cells(iLastRow + 1,  = .Cells(1, 48)
        Cells(iLastRow + 1, 9) = .Cells(30, 6)
       
    End With
    ItogWb.Close SaveChanges:=False
    
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True

End Sub
Изменено: GertiyMV - 14 Авг 2018 16:53:38
Поиск минимального значения по условию
 
gling, спасибо. все получилось! Для ЕСЛИ не правильно условия задавал
Поиск минимального значения по условию
 
Добрый день.

Никак не могу дойти как решить задачу. Есть столбец с повторяющимися именами, напротив каждого имени цифра. Нужно что бы по каждому имени эксель показал минимальную цифру. Причем не надо учитывать значения равные нулю или пустые ячейки.

Пробовал через МИН и ЕСЛИ - ничего не выходит.

У начальника новая блажь по отчетам =(
Вывод последнего значения из диапазона
 
Сергей, Akropochev, Stics, всем огромное спасибо! Все работает как надо, и даже лучше чем я рассчитывал. Вчера неожиданно в поля в командировку послали, посмотреть сразу не смог.
Вывод последнего значения из диапазона
 
Коллеги, всем доброе утро!
Простая задача, а сделать не могу. Видать давно не практиковался.
Суть, есть столбцы, в них есть значения +, с, ?. и мне надо в отдельный столбец выводить последнее значение. Можно сделать через ЕСЛИ и ЕПУСТО, но слишком длинная формула получается. Не в примере количество столбцов более 15.
Макрос на перенос информации на другой лист и исключение повторяющихся значений
 
Здравствуйте!
Есть две умные таблицы. На Лист1 запланированы встречи. Необходимо на второй лист во вторую умную таблицу перенести все крайние встречи с отсечкой по сегодняшнему дню. Посчитать сколько встреч я посчитаю через СЧЕТЕСЛИ. А вот как перенести даты, да так что бы таблица динамически расширялась вниз не могу. Точнее не умею.
Возможно это проще сделать через сводную таблицу, но в них я только начал разбираться.
Что можно сделать?
Макрос на отслеживание действий в определенных графах и обновления сводной таблицы
 
БМВ,спасибо, попробую в выходные!
БМВ, Андрей VG, в этом файле не планируется более 500 записей и включать данный макрос планирую только при планировании свой работы и работы департамента, а это всего лишь 30% работы с файлом, но очень сильно мне поможет автоматизация!
Макрос на отслеживание действий в определенных графах и обновления сводной таблицы
 
Цитата
Андрей VG написал:
В 99,9% случаев сводная находится на другом листе. И если так, то не лучше ли чуть под другом, зачем "тормоза" при вводе данных?
Да, я знаю данный способ, спасибо за вариант решения проблемы. Но он мне не подходит, т.к. основные данные на "Лист1", сводная на "Лист1", а на "Лист2" находится таблица пересчета данных из таблицы на "Лист1" и является таблицей для сводной таблицы на "Лист1". По этому при изменении основных данных, есть необходимость что бы сразу же пересчитывалась и сводная.
Макрос на отслеживание действий в определенных графах и обновления сводной таблицы
 
Цитата
БМВ написал:
Worksheet_Change срабатывает на любое изменение, в том числе на удаление, но в зависимости от того, как производится удаление
А скажите, пожалуйста, как правильно производить удаление? Обычным "делит" не получается
Цитата
Андрей VG написал:
Только делать из Excel realtime систему, как-то не очень хороший подход, на мой скромный взгляд
К большому сожалению пока в моей распоряжении нет других продуктов, когда я пришел на рабочее место, здесь был вообще хаос, сейчас пытаюсь все как то упорядочить, пока с помощью экселя. Ведь у нас покупают продукт только в том случае, если на практике доказать его необходимость
Изменено: GertiyMV - 4 Май 2018 08:47:21
Макрос на отслеживание действий в определенных графах и обновления сводной таблицы
 
Цитата
Dyroff написал:
Ну, раз файл с примером Вы не удосужились прикрепить- докручивайте сами:)
Докручу, с этим норм) В файле просто много персональных данных, от которых устану чистить файл.
Код работает - огромное спасибо! Но он проверяет только если данные добавились или изменились, а как сделать что бы еще на удаление он откликался?
Макрос на отслеживание действий в определенных графах и обновления сводной таблицы
 
Здравствуйте, форумчане!
Есть огромная умная таблица, по ней создана сводная. А, как известно, сводная автоматически не обновляется. Через макрорекордер записал на кнопку обновление, но хочется что бы ексель сам отслеживал, если были изменения в определенных столбцах [Дата1] и [Дата2] то автоматически запускается уже готовый макрос на обновление. Интернет облазил, а необходимого не нашел. Ексель такое может? И если да, то что в макрос прописывать надо?
Почему одинаковые макросы в разных файлах работают по разному.
 
написано так:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Worksheets("Лист1").PivotTables("СводнаяТаблица1").PivotCache.Refresh
End Sub

Я не понял почему на разных файлах это может не работать. Файлы то одинаковые - одна ctrl+c ctrl+v другого
Почему одинаковые макросы в разных файлах работают по разному.
 
Есть рабочий файл. Иногда создаю копию и в нем экспериментирую с формулами/макросами. В тестовом макрос работает, а в рабочем не хочет. Макрос:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Worksheets("sheet name").PivotTables("PivotTable name").PivotCache.Refresh
End Sub

Где то есть может какие надстройки, куда можно посмотреть? То что копирую макрос точь-в-точь уверен на 100%
К сожалению предоставить примеры не могу, слишком много конфиденциальной информации, которую я буду чистить часа два.
Сквозной счет "ИСТИНА"
 
Wiss, Bema, rshamrin, Stics, спасибо, очень помогли!
Сквозной счет "ИСТИНА"
 
Цитата
Bema написал:
Формула массива:=ЕСЛИ(D2=ЛОЖЬ;"";СУММ(--($D$2:D2)))
Что-то она не считает. И что такое "--"?
Сквозной счет "ИСТИНА"
 
Цитата
rshamrin написал:
=COUNTIF(D:D;"TRUE")
А как не подсчитывать пустые ячейки как в примере?
Сквозной счет "ИСТИНА"
 
Здравствуйте. Не могу сделать сквозной счет "ИСТИНА". Пытался сделать через СЧЕТЕСЛИ, но не могу понять как подсчитать только истину.
Связанные выпадающие списки по двум условиях
 
Цитата
Z написал:
Загляните на лист ПОЛТОРА в файле-примере к теме...
Понял, посмотрел. Там с помощью диспетчера имен работает все (ну или я не разобрался). А мне так не подходит, слишком динамично изменяющиеся данные у меня, и постоянно редактировать группы не очень круто. Тем более я не могу проставить данные как в примере, т.к. у меня к каждому ФИО прикреплен номер сотового, который через ВПР подтягивается.
Связанные выпадающие списки по двум условиях
 
Цитата
Z написал:
Загляните на лист ПОЛТОРА...
Что это?
Цитата
Dima S написал:
создайте доп столбец ключ = цех&участок и его используйте в вашей формуле.
все гениальное просто! спасибо!
Ссылка на строки в другой таблице, содержащие определенные значения
 
Цитата
Bema написал:
Еще вариант
Тоже очень интересно, надо разобраться будет как с массивами работать только.
Связанные выпадающие списки по двум условиях
 
Добрый день! Нужен был связанный выпадающий список, воспользовался руководством (https://www.planetaexcel.ru/techniques/1/38/) по второму примеру. Только в диспетчере имен ничего не создавал, а сразу кинул формулу =СМЕЩ($A$1;ПОИСКПОЗ($G$7;$A:$A;0)-1;1;СЧЁТЕСЛИ($A:$A;$G$7);1) в проверку данных. Но добавилось еще одно условие и знаний как это осуществить не хватает.
По примеру:
Вводные данные (цех и участок) и надо что бы при совпадении этих двух переменных выскакивал "начальник" именно этого участка именно этого цеха (причем их может быть несколько, по этому и выпадающий список).
Ссылка на строки в другой таблице, содержащие определенные значения
 
Цитата
Сергей написал:
вы бы хоть написали что файлы к первому сообщению приложили
Спасибо за указание на ошибку, обязательно учту в будущем
Цитата
Сергей написал:
вот все в одном файле на примере двух листов
Огромное спасибо! Именно то, что нужно!
Страницы: 1 2 След.
Наверх