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

Страницы: 1
Конфликт Макроса и функции
 
Ситуация та же(((((( Не могу понять почему  эта функция вызывает такую ситуацию... Стоит офис 2007
Конфликт Макроса и функции
 
Цитата
написал:
а точно пробовали именно приложенный мной код?
Просто скопировал и вставил....Ситуация не изменилась(((
Конфликт Макроса и функции
 
Цитата
написал: На время кода отключите автопересчет формул:
Уже пробовал даже нашел свойство который выключает условное форматирование..
Код
Worksheet.EnableFormatConditionsCalculation = false 

если закоментировать функцию все начинает работать..... После зависания выделяет строку которую копирует и столбец куда вставить...  и останавливаается на строке
Код
Selection.Insert Shift:=xlToRight  

и все дальше ничего не делает и с таблицей работать больше нельзя...... при закрытии говорит что буфер содержит большой объем данных и спрашивает что с ним делать.....(((((
Конфликт Макроса и функции
 
Доброго дня мастадонты гуру экселя))

Есть макрос который добавляет колонку в таблицу и есть функция которая окрашивает ячейки если в них содержится формула (Условное форматирование по формуле)...

При выполнении макроса происходит зависание и он просто останавливается... Может подскажите что можно сделать..
Код
Public Sub Вст_колонку()

    ActiveSheet.Unprotect
    Columns(Range("ПСбаза").Column).Select
    Selection.EntireColumn.Hidden = False
    Selection.Copy
    Selection.Insert Shift:=xlToRight   'на этой строке выполнения происходит остановка
    Columns(Range("ПСбаза").Column).Select
    Selection.EntireColumn.Hidden = True
    Application.CutCopyMode = False
    ActiveCell.Offset(3, -1).Activate
    
End Sub

Function IsFormula(Check_Cell As Range)

'Функция Для определение формул в ячейках и их выделение
' =IsFormula(F35) в условном форматировании записать формулу с указанием первой ячейки в нужном диапазоне
IsFormula = Check_Cell.HasFormula
End Function

Спасибо кто откликнется.
Изменено: Артур Завгородний - 21.12.2021 11:53:21
Копирование листов с именами из диапазона ячеек
 
Спасибо Вам Все прекрасно работает...)

 
Копирование листов с именами из диапазона ячеек
 
Доброго дня гуру Экселя.... В очередной раз нужна Ваша помощь..
Макрос который копирует листы с именами из диапазона ячеек работает исправно.... С переборкой коллекции (пропуск если имена уже ессть)
За исключением того что если в ячейках в диапазоне с именами есть пустые уходит в ошибку..... Можете ли подредактировать так что бы он просто пропускал ошибку до завершения диапазона.....Не создавая листа...

И в определенную ячейку вставить имя листа

Будет вообще супер если получится лист образец спрятать и делать копии с него.. Если вариант сначала отобразить лист -- сделать копии----спрятать лист является оптимальным тогда так и сделаем....Мнение Гуру)

Все исправлено и работает как часы.....

Выкладываю результат коллективного труда
Код
Sub CopySheetExample()
  Dim diapaz As Range 'диапазон нужных листов
  'Dim i As Long
  Dim list As Worksheet
  Dim rgCell As Range ' переменная для перебора коллекции
  
On Error Resume Next
Set diapaz = ActiveWorkbook.Sheets("Договора").Range("A10:A20") ' Диапазон который для новых листов
'Set diapaz = Application.InputBox("Пожалуйста, выделите диапазон ячеек, который содержит названия для новых листов!", Type:=8)
On Error GoTo 0
If diapaz Is Nothing Then Exit Sub
Set list = Worksheets("0") 'ActiveSheet  'имя листа образца
'For i = 1 To diapaz.Count
'i = 1
For Each rgCell In diapaz 'диапазон нужных листов
list.Visible = xlSheetVisible   'отображает лист образец
    If rgCell.Value <> "" Then
    
        If ExistList(rgCell.Value) = False Then
        list.Copy after:=Worksheets(Worksheets.Count) 'ActiveSheet
        ActiveSheet.Name = rgCell.Value 'Left(diapaz(i), 31)
        ActiveSheet.Range("A1") = rgCell 'Вставляет имя листа в ячейку А1
        End If

    End If
    
Next rgCell
list.Visible = xlSheetHidden 'Скрывает лист образец
End Sub

Function ExistList(strListName As String) As Boolean
 
    Dim objWsheet As Worksheet
    
    On Error GoTo Metka:
    Set objWsheet = ActiveWorkbook.Sheets(strListName)
    ExistList = True
Exit Function
Metka:
    ExistList = False
      
End Function



Спасибо всем кто откликнется.
Изменено: Артур Завгородний - 09.12.2021 17:40:35
Скрытие и отоброжение листов макросом
 
Буду Вам примного благодарен если на моем маленьком примере подскажете как это делать......
Скрытие и отоброжение листов макросом
 
Спасибо огромное за оперативный ответ!!! Хорошего Вам дня.... Мало того что решили быстро так еще и сократили количество макросов в книге.....Обычно я писал отдельный макрос на скрытие и отдельный на отображение + 2 разные кнопки.....))))) А тут все в одном и кнопка одна !!!! Супер.
Скрытие и отоброжение листов макросом
 
Спасибо за ответы но есть маленький нюанс.....Сам только постигаю этот мир и он не сдается без боя......Если можно то конкретные действия или ошибки в коде макроса указать (поправить).....

На новый эксель это конечно здорово..... Но мне бы до конца со старым разобраться))))
Скрытие и отоброжение листов макросом
 
Дорого дня форумчане и гуру екселя....

Есть макрос который прячет листы (номера которых находятся в ячейке)....Он работает на скрытие листов но не работает на отоброжение.....Где косяк?))
Код
Sub Спрятать() &#39; прячет листы перечисленные в ячейке
    
    s = Sheets("Лист1").Range("D1").Value &#39; номера листов беруться из ячейки
    a = Split(s, ",")
    For i = 0 To UBound(a): a(i) = Sheets(Val(a(i))).Name: Next
      'Sheets(a).Visible = xlSheetHidden  'работает на скрытие
      'Sheets(a).Visible = xlSheetVisible  'не работает !!!!
      On Error Resume Next
        'End If
End Sub
Выдает Ошибку-1004 в Excel VBA - невозможно установить свойство visible класса worksheet
Поиск значений в закрытых книгах и копирование строк с найденными значениями
 
Лучше так не делать. Лучше всё-таки открывать книги поочерёдно. Вот копируем всю строку[/QUOTE]
Огромное спасибо за оперативный ответ....И решение....

Немного допилил и настроил что бы данные копировались все таки на существующий лист (перед каждым поиском лист очищается) так как с ними потом будут девочки менеджеры работать, а формулы писать они не умеют)))

Остался вопрос с гипер ссылками ....так как книг много иногда нужно поправить значение в найденных строках....
Можно ли их выводить так же на отдельный лист....Другой но синхронно по строкам....
Изменено: vikttur - 17.08.2021 23:29:31
Поиск значений в закрытых книгах и копирование строк с найденными значениями
 
Прошу прощение за заблуждение.....ПРосто не видно как они открываются.....Если можно поправить так что бы реально не открывал .....Если это возможно ....Буду весьма признателен :)  
Изменено: vikttur - 16.08.2021 20:36:33
Поиск значений в закрытых книгах и копирование строк с найденными значениями
 
Всем доброго дня!

На просторах интернета нашел интересный макрос по поиску значений в закрытых книгах и выбором папки для поиска.
Работает отменно но очень хочется кое что изменить. но в этом ничего не понимаю.....Все хотелки собираю как пазл по крупицам)))
Макрос выводит название книги......название листа .....название ячейки и искомое значение в таблицу на новый лист......

Можно ли:
1. Выводить сразу гиперссылку на эту ячейку.
2 в итоговый результат копиравать всю строку а не только значение ячейки.... Нашлось значение скопировалась вся строка.....
Код
Sub SearchFolders()
'UpdatebyKutoolsforExcel20151202
    Dim xFso As Object
    Dim xFld As Object
    Dim xStrSearch As String
    Dim xStrPath As String
    Dim xStrFile As String
    Dim xOut As Worksheet
    Dim xWb As Workbook
    Dim xWk As Worksheet
    Dim xRow As Long
    Dim xFound As Range
    Dim xStrAddress As String
    Dim xFileDialog As FileDialog
    Dim xUpdate As Boolean
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Выберете папку"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    xStrSearch = Range("C4")
    xUpdate = Application.ScreenUpdating
    Application.ScreenUpdating = False
    Set xOut = Worksheets.Add
    xRow = 1
    With xOut
        .Cells(xRow, 1) = "Книга"
        .Cells(xRow, 2) = "Лист"
        .Cells(xRow, 3) = "Ячейка"
        .Cells(xRow, 4) = "Text in Cell"
        Set xFso = CreateObject("Scripting.FileSystemObject")
        Set xFld = xFso.GetFolder(xStrPath)
        xStrFile = Dir(xStrPath & "\*.xls*")
        Do While xStrFile <> ""
            Set xWb = Workbooks.Open(Filename:=xStrPath & "\" & xStrFile, UpdateLinks:=0, ReadOnly:=True, AddToMRU:=False)
            For Each xWk In xWb.Worksheets
                Set xFound = xWk.UsedRange.Find(xStrSearch)
                If Not xFound Is Nothing Then
                    xStrAddress = xFound.Address
                End If
                Do
                    If xFound Is Nothing Then
                        Exit Do
                    Else
                        xCount = xCount + 1
                        xRow = xRow + 1
                        .Cells(xRow, 1) = xWb.Name
                        .Cells(xRow, 2) = xWk.Name
                        .Cells(xRow, 3) = xFound.Address
                        .Cells(xRow, 4) = xFound.Value
                    End If
                    Set xFound = xWk.Cells.FindNext(After:=xFound)
                Loop While xStrAddress <> xFound.Address
            Next
            xWb.Close (False)
            xStrFile = Dir
        Loop
        .Columns("A:D").EntireColumn.AutoFit
    End With
    MsgBox "Найдено " & xCount & " значений", , "Kutools for Excel"
ExitHandler:
    Set xOut = Nothing
    Set xWk = Nothing
    Set xWb = Nothing
    Set xFld = Nothing
    Set xFso = Nothing
    Application.ScreenUpdating = xUpdate
    Exit Sub
ErrHandler:
    MsgBox Err.Description, vbExclamation
    Resume ExitHandler
End Sub
Изменено: vikttur - 18.08.2021 11:36:12
Алгоритм макроса защиты книги
 
Всем спасибо!! Я разобрался....И внедрил защиту на свои особо ценные продукты.....Хоть немного защитит от копирования на другие компьютеры...Порадовало то что привязка защиты идет к жесткому диску... 8)
Алгоритм макроса защиты книги
 
Данное вычисление используется для защиты книги.....Если код совпадет с вычислением то книга открывается если нет то книга закрывается.....Расчет начинается с № раздела диска С...Итог вычисления 10 цифр
Алгоритм макроса защиты книги
 
Доброго дня! Помогите пожалуйста с пониманием алгоритма работы... Буду признателен кто напишет ход вычисления.
Работа с шаблонами
 
Я что то не так спросил и ли неправильно описал ситуацию.....(((((
Работа с шаблонами
 
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>{/post}{/quote}  
 
Файлик весил 101 кб((((  
Прикрепил по новой  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
Работа с шаблонами
 
Доброго вечера.....Сотворил тутна досуге програмулинку для оказания услуг...Суть такая Заполняем титульный лист вводим туда все константы, на другом листе вводим клиентов, объем работы вводится в базу, после этого перемещаемся на листы с расчетами.....(их 65..больше не очень удобно и притормаживает работа эеселя. Есть пару вопросов которые довести до ума:  
1. Хотелось бы создать в книге скрытй лист шаблон на котором бы были введены все постоянные (шрифты, разметка, формулы,)Сейчас для добавления нового листа просто копирую первый лист. но если что то нужно поменять то менять нужно на каждом листе. Можно ли сделать так что бы поменяв это в шаблоне изменения произошли на каждом листе..мысли как это сделать есть но долго и нудно (Присвоив каждой ячейке уникально имя, а на каждом рабочем листе потом =имя в каждой ячейке, либо копирования с созданием связи, но тут возникают вопросы с формулами).  
2. Более 60 листов в книке достаточно неудобно. Что бы просмотреть все  нуно постоянно прокрычивать "ползунок" (при имени листа в 2 символа на видимой части около 35 листов помещается) ...Можно ли это оптимизировать?  
3. Создать кнопку котороя бы добавляла новый лист (с листа шаблона) с именем +1 от предыдущего листа.  
4. при наличие в книге 65 листов файл весит 7 Мб  что можно предпринять?  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
Страницы: 1
Наверх