В прилагаемом файле на листах заказов есть кнопка ПЕЧАТЬ с кодом:
[vba]
Код
Private Sub CommandButton1_Click() Sheets("Накладна").Copy After:=Sheets(1) Sheets("Накладна (2)").Name = "Печать" Sheets(ActiveSheet.Index - 1).Select Worksheets("Печать").Range("C4").Value = Range("A" & ActiveCell.Row).Text Worksheets("Печать").Range("H3").Value = Range("F1").Text Sheets("Печать").Activate x = 27 Do While x <> 5 x = x - 1 If Cells(x, 8) = 0 Then Cells(x, 8).EntireRow.Delete End If Loop End Sub
[/vba]
В этом коде почему-то не срабатывает строка
[vba]
Код
Sheets("Печать").Activate
[/vba]
Точнее, команда срабатывает, но цикл, написанный после нее, выполняется не на созданном листе Печать, а на исходном листе. Пробовал также вместо Activate писать Select, а также оба варианта сразу, но не хочет. Что я делаю не так?
В прилагаемом файле на листах заказов есть кнопка ПЕЧАТЬ с кодом:
[vba]
Код
Private Sub CommandButton1_Click() Sheets("Накладна").Copy After:=Sheets(1) Sheets("Накладна (2)").Name = "Печать" Sheets(ActiveSheet.Index - 1).Select Worksheets("Печать").Range("C4").Value = Range("A" & ActiveCell.Row).Text Worksheets("Печать").Range("H3").Value = Range("F1").Text Sheets("Печать").Activate x = 27 Do While x <> 5 x = x - 1 If Cells(x, 8) = 0 Then Cells(x, 8).EntireRow.Delete End If Loop End Sub
[/vba]
В этом коде почему-то не срабатывает строка
[vba]
Код
Sheets("Печать").Activate
[/vba]
Точнее, команда срабатывает, но цикл, написанный после нее, выполняется не на созданном листе Печать, а на исходном листе. Пробовал также вместо Activate писать Select, а также оба варианта сразу, но не хочет. Что я делаю не так?DrRoy
код написан в модуле класса конкретного листа, поэтому выражение Cells(x, 8) [= Me.Cells(x, 8)] будет относиться именно к тому листу, поэтому Cells(x, 8) --> Activesheet.Cells(x, 8) или --> Worksheets("Печать").Cells(x, 8)
код написан в модуле класса конкретного листа, поэтому выражение Cells(x, 8) [= Me.Cells(x, 8)] будет относиться именно к тому листу, поэтому Cells(x, 8) --> Activesheet.Cells(x, 8) или --> Worksheets("Печать").Cells(x, 8)Саня
Возможно, нужно бы создать новую тему, но спрошу тут. После печати лист Печать удаляется, после чего строку с заказом нужно покрасить в желтый цвет. Первое, что пришло на ум, это [vba]
[/vba] но это синтаксически неправильно. Подскажите правильную запись, пожалуйста.
Цитата (DrRoy)
нужно бы создать новую тему
[admin]Эта тема закрыта[/admin]
Спасибо, работает.
Возможно, нужно бы создать новую тему, но спрошу тут. После печати лист Печать удаляется, после чего строку с заказом нужно покрасить в желтый цвет. Первое, что пришло на ум, это [vba]