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

Страницы: 1 2 След.
[ Закрыто] Не работает правильно второй макрос при очистке ячейки, Не могу понять в чём проблема, может кто подскажет в чём я ошибаюсь
 
'Запускаем макрос при изменении ячеек B2:B1048576 на листе "все ремонты" файла "ремонты.xlsm"
Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Application.Intersect(Range("B2:B1048576"), Range(Target.Address)) Is Nothing Then
       
       AddressTarget = Target.Address
       
       NamberRow = Range(AddressTarget).Row
       
       vNamber = ThisWorkbook.Sheets("все ремонты").Cells(NamberRow, "B").Value
       
       If vNamber <> "" Or vNamber <> Empty Then
           MaxRow = Workbooks("Поступление1.xlsx").Sheets("все приходы").Range("A1048576").End(xlUp).Row

           For i = MaxRow To 2 Step -1
               vNamber2 = Workbooks("Поступление1.xlsx").Sheets("все приходы").Cells(i, "A").Value
                   
               If vNamber = vNamber2 Then
                   'подтягиваем нужные данные
                   vRowPost1 = i
               
                   vNamberInvent = Workbooks("Поступление1.xlsx").Sheets("все приходы").Cells(i, "B").Value
                   vNamberModel = Workbooks("Поступление1.xlsx").Sheets("все приходы").Cells(i, "D").Value
                   vNamberStatus = Workbooks("Поступление1.xlsx").Sheets("все приходы").Cells(i, "E").Value
               
                   ThisWorkbook.Sheets("все ремонты").Cells(NamberRow, "G").Value = vNamberInvent
                   ThisWorkbook.Sheets("все ремонты").Cells(NamberRow, "H").Value = vNamberModel
                   ThisWorkbook.Sheets("все ремонты").Cells(NamberRow, "I").Value = vNamberStatus
               End If
           Next i
       End If
       
   End If
End Sub

'Очищаем строку если очищаем какую-либо ячейку B2:B1048576 на листе "все ремонты" файла "ремонты.xlsm"
Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Application.Intersect(Range("B2:B1048576"), Range(Target.Address)) Is Nothing Then
       
       AddressTarget = Target.Address
       
       NamberRow = Range(AddressTarget).Row
       
       vNamber = ThisWorkbook.Sheets("все ремонты").Cells(NamberRow, "B").Value
       
       If vNamber = "" Or vNamber = Empty Then
           ThisWorkbook.Sheets("все ремонты").Select
           Rows(NamberRow).Select
           Selection.Delete Shift:=xlUp
           Range("A" & NamberRow).Select
       End If
       
   End If
End Sub
Запуск макроса при изменении ячейки, Что то не срабатывает макрос, не могу понять в чём проблема
 
Спасибо! Заработало. Что то я затупил :-(
Запуск макроса при изменении ячейки, Что то не срабатывает макрос, не могу понять в чём проблема
 
А у меня не работает даже вот так (даже в новом файле).
Запуск макроса при изменении ячейки, Что то не срабатывает макрос, не могу понять в чём проблема
 
Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Application.Intersect(Range("B2:B1048576"), Range(Target.Address)) Is Nothing Then
       MsgBox "Ячейка " & Target.Address & "изменена."
   End If
End Sub
Программное удаление связи между вставленной в xlsx картинкой и файлом jpg
 
Спасибо! Пять минут назад только что это нашёл. Да, это более правильно, сразу рисунок можно отвязать от jpg файла.
А я с копированием мучался.
Изменено: Esheron - 08.06.2021 13:18:35
Программное удаление связи между вставленной в xlsx картинкой и файлом jpg
 
Цитата
Дмитрий(The_Prist) Щербаков написал: ...пока вообще непонятно как картинки в Excel появляются и почему именно со связями.
Вставка просто строкой ActiveSheet.Pictures.Insert(sPicsFilePath & sPicFileName).Select из файла gpg.

Но вставляет со связью с файлом jpg. Если удалить этот файл, то и картинка исчезнет.
И потом опять копируем и вставляем рисунком:
Код
Selection.Copy
ActiveSheet.Pictures.Paste.Select

Старую картинку удаляем. Если картинок много, то придётся совать картинки в массив как мне пришлось. При копировании формировать массив со старыми картинками и потом удалить этот массив целиком: ActiveSheet.Shapes.Range(arr).Delete
Изменено: vikttur - 08.06.2021 13:13:39
Программное удаление связи между вставленной в xlsx картинкой и файлом jpg
 
Спасибо всем! Спасибо модератору, но ранее уже нашёл сам, но только для ворда копированием рисунком. В экселе пока не знаю как сделать, картинки не видно.
Программное удаление связи между вставленной в xlsx картинкой и файлом jpg
 
Да уж... Печалька, более 100 просмотров и ни одного предложения как это сделать.
Тогда перефразирую вопрос:
1. Как вставить картинку из файла jpg в файл xlsx так чтобы после удаления файла jpg или изменения имени папки где хранится файл jpg картинка сохранялась после закрытия файла xlsx и его открытия заново. А то пишет Не удаётся отобразить связанный рисунок на месте рисунка.
2. Ну если в Excel сделать так нельзя, то как скопировать картинки вместе с ячейками из файла xlsx в файл Word чтобы эти связи с файлом jpg перестали существовать и картинки бы сохранялись бы после такого копирования?
Что только не пробовал, сколько не искал в инете, ничего толком нет. Даже повторным копированием в файле xlsm и удалением старых картинок связи сохраняются с файлами jpg.
Программное удаление связи между вставленной в xlsx картинкой и файлом jpg
 
Уже 1,5 часа ищу - ничего не нашёл. Как удалить связь в ячейке я знаю, но вот именно картинки - нет.
Пробовал даже вручную удалить - пишет что связи имеются (сами связи не показывает), но удалить не может.
Просто если файл xlsx с картинками переслать другому человеку, то на его компьютере картинки не показываются, т.к. связи разорваны.
Заранее благодарен всем, кто сможет помочь.
Изменено: Esheron - 07.06.2021 13:42:46
Ошибка "subscript out of range" при попытке обратиться к массиву с 0
 
Дмитрий, спасибо огромное! Option Base 1 сработало.
Ошибка "subscript out of range" при попытке обратиться к массиву с 0
 
Код
Dim arrМ(100, 100) As Variant 

arrМ(0, 0) = " MSK"

Ругается на вторую строку. Не могу понять. Понимаю что что-то не нравится с индексом массива.
Заранее спасибо!
На другом ПК ругается на формирование сводной таблицы
 
Спасибо! Попробую завтра, устал уже.
Да даже если не сработает, то всё равно ответ полезный был, спасибо.
На другом ПК ругается на формирование сводной таблицы
 
Это мало что даст, т.к. на других ПК макрос работает. Здесь похо на системные дела. Возможно админы что-то настроили у клиента на работе.
Цитата
Run-Timeerror '5'
Invalid Procedure call or argument
И останавливается на вот этом коде
Код
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _        
"Open PO!R1C1:R1048576C19", Version:=6).CreatePivotTable TableDestination:= _
        "Лист1!R3C1", TableName:="Tabl", DefaultVersion:=6
Изменено: Esheron - 22.10.2019 13:39:16
На другом ПК ругается на формирование сводной таблицы
 
Приветствую, уважаемые форумчане!
Столкнулся с непонятной проблемой. Есть макрос, в котором формирование сводной таблицы было записано с помощью макридера.
Сам макрос написан под Win10, 64-бит, Offise2016. Всё работает. У клиента тоже самое на домашнем ПК - тоже всё работает.
А на рабочем ПК (всё тоже самое) ругается на формирование сводной таблицы. Ни кто случаем с такой проблемой не сталкивался?
Заранее благодарен за ответы.
Переход между разделами или колонтитулами разделов документа Word из VBA&Excel
 
Так рад бы, да отказывается прикреплять файл.
Переход между разделами или колонтитулами разделов документа Word из VBA&Excel
 
Не даёт прикрепить файл. Поэтому так.
Правильнее было бы при первом открытии применить  константу wdSeekFirstPageHeader
Так, моредатор недоволен форматированием. Я не знаю как правильно это сделать.
Поэтому кто успел, тот и скопировал. Код удалил.
Изменено: Esheron - 21.11.2017 23:39:01
Переход между разделами или колонтитулами разделов документа Word из VBA&Excel
 
Тема закрыта, сам разобрался.
Все участвующим в моей проблеме огромное спасибо!
Переход между разделами или колонтитулами разделов документа Word из VBA&Excel
 
Спасибо за подсказку. Но не очень спец в области работы с doc-документами. А можно поподробней?
В документе и правда разделов не оказалось. Как именно перейти можете подсказать?
Переход между разделами или колонтитулами разделов документа Word из VBA&Excel
 
спасибо за информацию. так оно вероятно и есть.
Но как перейти из первого верхнего колонтитула во второй верхний?
Не могу никак нигде найти. Обыскался уже.
Переход между разделами или колонтитулами разделов документа Word из VBA&Excel
 
Уточнение - речь о верхних колонтитулах идёт.
Переход между разделами или колонтитулами разделов документа Word из VBA&Excel
 
Что-то ругается VBA на данный код. Как-то и вариантов уже нет.
Выкладываю свой код, применительно уже к конкретной задачи и один доковский файл.
Как в нём можно активировать колонтитул на втором листе (хотя он активируется сразу при активации колонтитула на первом листе).
Не могу понять, в доковском файле я не вижу разрывов разделов, но колонтитулы разные - это как? Я с таким в первый раз сталкиваюсь.
Как достучаться до колонтитула на втором листе чтобы заменить часть текста (замена уже решена)?
Переход между разделами или колонтитулами разделов документа Word из VBA&Excel
 
Опять проблема возникла. В первом разделе документа в колонтитуле замену сделал.
А вот как перейти в колонтитул следующего раздела не могу найти.
Кто-нибудь сможет подсказать?
Заранее благодарен.
Замена части текта в колонтитуле на листе Word программно из VBA на другой текст из Excel
 
Тема закрыта. Разобрался сам. Кому нужно, см. в файлах.
Изменено: Esheron - 19.11.2017 15:45:54
Замена части текта в колонтитуле на листе Word программно из VBA на другой текст из Excel
 
Что самое интересное, что .Content.Find.Execute в тексте странице всё нормально заменяет.
Замена части текта в колонтитуле на листе Word программно из VBA на другой текст из Excel
 
Вот набросал макрос. Открывать для редактирования колонтитул открывает и закрывает.
А вот с заменой у меня что-то не так. Методы выполняет, а самой замены не выполняет.
.Content.Find.Execute тоже замены не делает. Сможет кто помочь?
Заранее благодарен.
Замена части текта в колонтитуле на листе Word программно из VBA на другой текст из Excel
 
Спасибо за участие в моей проблеме, но это не совсем то - это прога просто новый колонтитул вставляет.
А мне нужно чтобы в существующем файле Docx меняла часть текста.
Вот пример: из файла Книга1 нужно значение в ячейке А1 "12345" взять и заменит на него значение в колонтитуле "[1]"  в файле Doc2.xlsx
Замена части текта в колонтитуле на листе Word программно из VBA на другой текст из Excel
 
Библиотеку подключил. Макрос, записанный рекодером не работает в проекте VBA&Excel. Поэтому и вопрос задал.
Замена части текта в колонтитуле на листе Word программно из VBA на другой текст из Excel
 
не, не, не то. я уже достучался до этого. Всё нормально открываю. Это без проблем. А вот достучаться до колонтитула именно из Excel&VBa не получается. Не понимаю в чём проблема. Не понимаю как колонтитул открыть для редактирования. Рекодер из Word не помогает, т.к. он для VBA&Word. При чём колонтитул представляет из себя таблицу Word.
Замена части текта в колонтитуле на листе Word программно из VBA на другой текст из Excel
 
Доброй ночи форумчане!
Всё, я сломался. Пол дня уже ковыряюсь, но так и не смог найти того, что мне нужно.
Проблема: нужно из VBA-проекта в Excel-файле заменить известное словосочетание в верхнем колонтитуле уже имеющегося doc-документа. При чём в данном документе имеется два раздела и два разных колонтитула - верхних. Активация Word и открытие документа без вопросов, в том числе и разделов. Замена в тексте страницы тоже без проблем. Замена из VBA-проекта из Word - тоже без проблем. А вот из Excel-проекта - проблема. К поиску не отправляйте - отъимел уже наверно всё что можно в Инете, в т.ч. и майкрософт руководство. Код не выставляю, т.к. там уже полная каша. Ткните меня где найти ответ на мой вопрос или пример хотя бы какой скинте. Заранее буду благодарен.
VBA: почему не срабатывает оператор выделения диапазона?
 
Цитата
The_Prist написал:
ActiveSheet.Rows("4:100").Select
Блин!!! Помогло! Огромное человеческое спасибо!
А не указывал лист потому, что открываемый файл содержит один лист и он по идее должен был быть сразу активен.
Страницы: 1 2 След.
Наверх