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

Страницы: 1
Ошибка в файле с макросом
 
В проблеме разобрался. В примере виновник макрос с ссылкой на удаленный лист. Но главный виновник SendKeys "{ESC}", который все сбивал(((
Ошибка в файле с макросом
 
Добрый день!
Имеется файл с макросами. В файле есть умная таблица, сводная таблица и таблица Power Query.
В файле есть макросы, которые обнавляют сводную и квери таблицы автоматически при переходе на листы содержащие эти таблицы (листы "КЖ" и "Отчет").
Файл работал нормально, но в один прекрасный момент.....возникли следующие проблемы:
1. Файл стал очень долго запускаться
2. При переходе на листы "КЖ" возникает ошибка "run-time error 1004 метод refreshtable из класса pivottable завершен неверно"
3. При переходе на листы "Отчет" возникает ошибка "run-time error '-2147217842 (80040e4e)' automation error"

но при запуске этих макросов, при нахождении на листе, они срабатывают без ошибок.
складывается впечатление, что виноват не макрос....
поиск ничего не дал (или я не понял что надо исакть)
Изменено: apawa - 01.04.2023 22:25:43
Конфликт макросов
 
Спасибо огромное вам! Ваш код сработал идеально! :)

Только я не совсем понял в чем ошибка в моем коде (он корявие и длиннее)....
сейчас пробегусь по нему заново, прочту ваши ссылки и может соображу)))
Конфликт макросов
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
Вы не заметили, что у Вас там ошибка возникает, т.к. вставить данные пытаетесь в объединенную ячейку?
В файле Опыты.xlsm  диапазон вроде B5:G705 и вставляем это с ячейки "B5":

Код
Workbooks(ImaKnig3).Worksheets("Спецификация").Range("B5:G705").Copy
 ImaKnig1.Activate
 Sheets("Спецификация").Range("B5").Select
 Application.EnableEvents = False 'отключаете обработку событий (чтоб не срабатывала вставка только значений)(Application.Undo)
 ActiveSheet.PasteSpecial Paste:=xlPasteValues
 Range("B5").Select
 Application.EnableEvents = True 'включаете обработку событий

может я не то понял, но объединеных ячеек не нашел (кроме B3), но туда я не вставляю
Конфликт макросов
 
В файле на странице "Начало" есть 2 кнопки:

"Копировать в файл" - копирует лист "Спецификация" в новый файл
"Перенос данных....." - наоборот должна копировать данные на лист "Спецификация" из созданного, вот тут то и происходит сбой....

Если создать новый файл, и в него вставить эти макросы (1 и 2) все работает.
Конфликт макросов
 
я как буду у ПК, скину тогда сам файл...вдруг я что-то не так понял.
нет, ваш код я еще не пробовал, пытался понять почему у меня ошибка(((
Конфликт макросов
 
Цитата
Дмитрий(The_Prist) Щербаков написал: какую?
Цитата
runtime error 1004
application-defined or object-defined error
когда запускаю с кнопки, то бывает ошибка 400
Она возникает когда я добавляю Application.EnableEvents.
Конфликт макросов
 
Пытался найти решение в других темах,но увы, либо не нашел, либо не понял......

Есть 2 макроса:
Макрос1 - борется со вставками, разрешая только вставку значений.
Макрос2 - переносит данные(определенные ячейки) из одного файла (любого) в свой файл (1.xlsm)

Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 'Макрос1 - для вставка только значений
    If Application.CutCopyMode Then
        Application.EnableEvents = 0
        Application.Undo: Target.PasteSpecial xlPasteValues
        Application.EnableEvents = -1
    End If
End Sub
Код
Sub S4itivanie() 'Макрос2 - копирование из книги

Set ImaKnig1 = ThisWorkbook

ImaKnig2 = Application.GetOpenFilename _
                ("Excel files(*.xls*),*.xls*", 1, "Выбрать Excel файлы для передачи данных", , False)
If VarType(ImaKnig2) = vbBoolean Then
        Exit Sub
End If

ImaKnig3 = Dir(ImaKnig2)

If BookOpenClosed((ImaKnig3)) Then
 Workbooks(ImaKnig3).Worksheets("Спецификация").Range("A2:J23").Copy
 ImaKnig1.Activate
 Sheets("Спецификация").Range("A2").Select
 ActiveSheet.Paste
 Range("A2").Select
 Application.CutCopyMode = False
 
 Else
  Workbooks.Open (ImaKnig2)
  Workbooks(ImaKnig3).Worksheets("Спецификация").Range("A2:J23").Copy
  ImaKnig1.Activate
  Sheets("Спецификация").Range("A2").Select
  ActiveSheet.Paste
  Range("A2").Select
  Application.CutCopyMode = False
  Workbooks(ImaKnig3).Close (False)
  
End If
End Sub

'функция, предназначенная для проверки, открыта или закрыта рабочая книга.
Function BookOpenClosed(wbName As String) As Boolean
    Dim myBook As Workbook
    On Error Resume Next
        Set myBook = Workbooks(wbName)
    BookOpenClosed = Not myBook Is Nothing
End Function

Так вот, во время работы Макроса2, когда он вставляет значения  в "свой файл", его перехватывает Макрос1 и тут то происходит глюк...Как я понял глючит: Application.Undo: Target.PasteSpecial xlPasteValues - т.к. не может отменить действие Макроса2.

Думал отключить обработку событий, чтоб Макрос1 не срабатывал, но это вызвало другую ошибку
Код
Application.EnableEvents = False
ActiveSheet.Paste
Application.EnableEvents = True


Вопросы:
1. Можно как то отключать Макрос1 при выполнении Макроса2 (откл. из Макроса2)
2. Может есть другой вариант Макроса1 - для вставки только значений (облазил инет ничего не нашел)
Ошибка циклической ссылки
 
уменьшеный.
Ошибка циклической ссылки
 
вторая часть файла.
Ошибка циклической ссылки
 
добрый день!Проблема в след.:

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

помогите разобраться, что за проблема,сам пытался так и не понял!
График дежурств
 
Вот файл!
График дежурств
 
{quote}{login=Nic70y}{date=14.11.2012 01:52}{thema=}{post}Без макросов, но с доп. столбцами и переделанными формулами{/post}{/quote}  
 
Попробовал разобраться, скинул файлик с пояснениями,не знаю правильно ли))  
есть пару вопросов:  
 
1. не пойму зачем в столбах 1-5 (пункты 6-7) числа в середине начинаются с августа и дальше. Их нельзя было просто продолжить до конца августа?  
2. В пункте (15), не пойму, зачем нужны условные форматирования ячеек 2 и 3.  
 
См. прикрепленный файл.  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
График дежурств
 
{quote}{login=Nic70y}{date=14.11.2012 01:52}{thema=}{post}Без макросов, но с доп. столбцами и переделанными формулами{/post}{/quote}  
 
Спасибо,но можете пояснить что там сделали,если не сложно?))  
а то что-то никак не могу понять!
График дежурств
 
Добрый день!  
Делаю график дежурств:  
      5 групп дежурящих людей:  
        1-ая в понедельник  
        2-ая во вторник  
        ...............  
        5-ая в пятницу.  
Дежурства начинаются с 1 сентября и до 1 сентября след. года.  
 
все это хорошо но есть одно,НО:  
помимо дней недели эти группы дежурят еще и в выходные (Суб. и Воскр.), то есть:  
1-ая в первый выходной (например в субботу)  
2-ая во второй вых. (уже в воскр.)  
3-я в след. выходной (опять суб.)  
.................................  
и так далее весь год, где отправной точкой является первый выходной сентября, а конечной - последний выходной августа.  
 
как сделать так,чтоб excel сам выделял эти выходные для каждой группы!  
(Желательно без макросов)
Страницы: 1
Наверх