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

Страницы: 1
Запуск макроса по факту пересчёта формулы в конкретной ячейке
 
Добрый день всем! Перечитал кучу информации, но так и не нашел простого ответа на простой вопрос. Как запустить макрос по факту пересчёта формулы в конкретной ячейке. Например, как по факту изменения ячейки вручную (см. Код). Подскажите пожалуйста.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$F$1" Then
     Call Prohlaseni
    End If
End Sub
Изменено: Perec - 17.12.2021 11:39:14
Run-time error '91' при копировании столбцов внутри книги
 
Добрый день.
Есть код, который копирует столбцы с одного листа на другой внутри одной книги.
Код
Sub Kamion1()
Application.ScreenUpdating = False
  Sheets("PL").AutoFilter.Range.Columns("A").Offset(1).SpecialCells(12).Copy
  Sheets("Kamion 1").Range("C107").PasteSpecial xlPasteValues
  Sheets("PL").AutoFilter.Range.Columns("C").Offset(1).SpecialCells(12).Copy
  Sheets("Kamion 1").Range("E107").PasteSpecial xlPasteValues
  Sheets("PL").AutoFilter.Range.Columns("D").Offset(1).SpecialCells(12).Copy
  Sheets("Kamion 1").Range("F107").PasteSpecial xlPasteValues
Application.ScreenUpdating = True
Sheets("Kamion 1").Select
Cells(107, 1).Select
End Sub
При запуске макроса, он ведет себя непредсказуемо. Иногда все нормально работает, а иногда выдает ошибку "Run-time error '91' Object variable or With block variable not set". Какой-либо закономерности в появлении ошибки я не нашел.
При этом есть другой код, который так же копирует столбцы, но из одной книги в другую. Этот макрос всегда работает хорошо и не выдает ошибок.
Код
Sub Vyvoz_CUBIC_1()
Dim iLastRow As Long
Dim FileName As String
Dim ProjektName As String
ProjektName = Left$(ActiveWorkbook.Name, InStrRev(ActiveWorkbook.Name, ".") - 1)
FileName = Workbooks(ProjektName).Sheets("Country").Range("M3")
Workbooks("Proforma invoice_Packing list " & FileName).Sheets("Proforma invoice " & FileName).Activate
iLastRow = Cells(Rows.Count, 3).End(xlUp).Row + 1

Application.ScreenUpdating = False
   Workbooks(ProjektName).Sheets("CUBIC").AutoFilter.Range.Columns("B").Offset(2).SpecialCells(12).Copy
  Workbooks("Proforma invoice_Packing list " & FileName).Sheets("Proforma invoice " & FileName).Cells(iLastRow, "C").PasteSpecial xlPasteValues
   Workbooks(ProjektName).Sheets("CUBIC").AutoFilter.Range.Columns("C").Offset(2).SpecialCells(12).Copy
  Workbooks("Proforma invoice_Packing list " & FileName).Sheets("Proforma invoice " & FileName).Cells(iLastRow, "D").PasteSpecial xlPasteValues
   Workbooks(ProjektName).Sheets("CUBIC").AutoFilter.Range.Columns("D").Offset(2).SpecialCells(12).Copy
  Workbooks("Proforma invoice_Packing list " & FileName).Sheets("Proforma invoice " & FileName).Cells(iLastRow, "E").PasteSpecial xlPasteValues
Application.ScreenUpdating = True
Range("A33").Select
End Sub
Подскажите, пожалуйста, почему в первом макросе появляется ошибка, если используется тот же метод копирования, что и во втором макросе, в котором ошибки не появляются?
Заранее благодарю всех за помощь!
Изменено: Perec - 29.12.2020 11:32:01
В тексте №_ящика-количество. Суммировать количество в каждом ящике
 
Добрый день всем!
У меня с одной стороны простой вопрос, а с другой... Я не знаю как сделать.

Нужно содержимое ячейки
100-4ks, 100-28ks, 100-28ks, 100-28ks, 100-28ks, 120-28ks, 120-28ks, 120-28ks, 120-16ks
преобразовать  в
100-116ks, 120-100ks

Прошу помощи. Сам никак не могу сообразить ка сделать
Страницы: 1
Наверх