Макросы в excel
Подскажите как написать макрос который при срабатывании бы удалял строчку с лист1, но при этом не рушилась подстановка из ячеек на лист2 с лист1. Т.е. Есть таблица на лист1, допустим 3*10, есть шаблон на лист2 в котором в некоторых ячейках вставлены данные с =лист1!a1, b1, c1. Как написать макрос так чтобы можно было удалять строку на лист1, чтобы при этом данные на лист2 не принимали вид =лист1!#ссылка#?
|
Bordlord, никак. Вы удаляете объект, ссылка на который есть в формуле. Куда этой ссылке ссылаться после удаления объекта?!
Возможные обходные пути могут быть изложены после выкладывания образца документа.
|
Вложений: 1
Выложил образец документа, при удалении первой строчки на листе1 ссылка на листе2 вида =лист1!а1 становиться =лист1#CСЫЛКА#
|
Bordlord, я имел в виду — образец реального документа. Тогда можно будет что-то советовать. А так — ответ пока тот же: никак.
|
Я и хочу создать реальный документ, его пока не существует
|
Bordlord, прямого пути для воплощения Вашего желания не существует — об этом я уже писал выше. Это ограничение обусловлено самой системой и никак не может быть преодолено. Но могут быть обходные пути.
Зачем, например, должно осуществляться удаление строки, на ячейки которой есть ссылки в формулах? Что, также, должно происходить с формулами после удаления строки, на ячейку в которой в них были ссылки? Каковы Ваши потребности? Т.е., Вы выше написали как «не хотелось бы», а теперь изложите как и чего «хотелось бы».
|
Надо чтобы в шаблоне с лист2 при исполнении макроса менялись данные в строках со ссылками, данные берутся из листа1
|
Bordlord, сожалею, но я бессилен что-либо понять в Вашем изложении задачи.
|
Я сам иногда не могу понять чего хочу)) мне нужно печатать товарнотранспортные накладные, в них есть статичные данные а есть те которые меняются на каждой ттнке, соответственно мне надо чтобы они менялись по нажатию макроса. Т.е алгоритм такой печать-> макрос-> печать-> макрос-> печать.
Надеюсь так понятнее
|
Bordlord, нет, не понятно. Понадобится реальный пример с подробными разъяснениями.
|
Bordlord, чтобы воплотить вашу хотелку, нужно заполнять содержимое листа 2 с помощью макросов, а не формул. Поэтому максимально точно изложите алгоритм необходимых связей.
|
Вложений: 1
Сделал табличку с пояснениями
|
Цитата:
Цитата Bordlord
Сделал табличку с пояснениями
Цитата:
Шаблон с заполненными данными нужно запускать на печать на матричном принтере…
|
»
|
Sic! Стал понятен смысл слова шаблон в контексте задачи.
Вставьте данный код:
читать дальше »
Код:
Option Explicit
Sub InsertValuesFromActiveCellIntoWorksheet()
If ActiveSheet.Name = "Лист1" Then
If Right(ActiveCell.Address(ReferenceStyle:=xlR1C1), 2) = "C1" Then
If Not IsEmpty(ActiveCell.Value) Then
With ThisWorkbook
With .Worksheets.Item("Лист2")
.Cells.Item(13, 1).Value = ActiveCell.Value
.Cells.Item(15, 4).Value = ActiveCell.Offset(0, 1).Value
.Cells.Item(13, 6).Value = ActiveCell.Offset(0, 2).Value
.PrintPreview
End With
End With
Else
MsgBox "Активная ячейка не содержит данных", vbExclamation, "Ошибка"
End If
Else
MsgBox "Активная ячейка не находится в столбце [A]", vbExclamation, "Ошибка"
End If
Else
MsgBox "Активная ячейка не находится на листе [Лист1]", vbExclamation, "Ошибка"
End If
End Sub
в модуль рабочей книги. Назначьте его вызов на сочетание горячих клавиш. Выделите на первом листе в первом столбце потребную ячейку из списка. Нажмите сочетание горячих клавиш. Будет произведена подстановка данных из строки с выделенной ячейкой во второй лист рабочей книги, и этот лист будет выведен на предварительный просмотр (чтобы Вы могли убедиться, правильно ли произведена подстановка).
Или, может, Вам нужно, перебрав созданный список, просто отпечатать всё подряд?
|
Мне нужно каждый раз после печати на принтере отматывать бланки назад, так что нужно поменять данные, нажать печать, отмотать, поменять данные, нажать печать, отмотать и т.д.
Можно пояснить куда конктретно вставить?
|
Цитата:
Цитата Bordlord
отматывать бланки назад »
|
Поясните подробнее, пожалуйста.
|
кнопочкой на принтере после печати каждой ттнки надо отматывать назад
|
при нажатии печать выпадает ошибка 400
|
Цитата:
Цитата Bordlord
при нажатии печать выпадает ошибка 400 »
|
Приведите скриншот.
|
Время: 22:39.
© OSzone.net 2001-