Страницы: 1
RSS
Автоматическое добавление строк на несколько листов, С дополнительными парметрами
 
Изначально материалы брал из этой темы
http://www.planetaexcel.ru/forum/?PAGE_NAME=read&FID=8&TID=19889
Из неё же взял макросы
В VBA я думдук поэтому вопросы покажуться элементарными

Вопрос 1
Код
Sub Insert_Rows()
Dim ws As Worksheet

r = ActiveCell.Row
c = Selection.Rows.Count
For Each ws In ThisWorkbook.Sheets
[COLOR=#ff0000]    If ws.Name <> "ТПВ" Then[/COLOR]
            ws.Range("C" & r & ":C" & r + c - 1).EntireRow.Insert
    End If
Next

End Sub

Sub Delete_Rows()
'
'
Dim ws As Worksheet
r = ActiveCell.Row
c = Selection.Rows.Count

For Each ws In ThisWorkbook.Sheets
 [COLOR=#ff0000]   If ws.Name <> "ТПВ" Then[/COLOR]
           ws.Range("C" & r & ":C" & r + c - 1).EntireRow.Delete
    End If
Next
End Sub


Этот модуль, как я понимаю,  добавляет и удаляет строки в книге при выполнении макроса кроме листа "ТВП", как добавить к нему ещё один лист?
Необходимо чтобы выполнению так же игнорировался лист, например "Свод"

Вопрос 2
Как я понимаю данный код добавляет кнопки Добавить строку, удалить строку на определённый лист. Но опять же я в VBA и в програмировании в целом не силён.
Код
Option Explicit

'Private Sub Worksheet_Change(ByVal Target As Range)
'Dim i As Long
'Dim x As Long
'Dim n As String
'
'
'n = Me.Name
'i = Sheets(1).Range("IV1").Value
'If Me.UsedRange.Rows.Count = i Then Exit Sub
'    If Target.Cells.Count = Target.EntireRow.Cells.Count Then
'
'    x = Target.Row
'    If Me.UsedRange.Rows.Count > i Then
'        Call Insert_Rows(x, n)
'    Else
'        Call Delete_Rows(x, n)
'10
'    End If
'End If
'Sheets(1).Range("IV1").Value = Me.UsedRange.Rows.Count
'End Sub

Код не работает (кнопки не появляются). Нужны они на листе ТПП.  не робит в общем
 
По первому вопросу:
добавляем в проверку ИЛИ
Код
If ws.Name <> "ТПВ" Or ws.Name <> "СВОД" Then

По второму - код не добавляет/удаляет кнопок. Он по событию изменение листа проверяет количество строк используемого диапазона на соответствие некоему значению в ячейке IV1 и в зависимости от этого удаляет/добавляет строки.
Кому решение нужно - тот пример и рисует.
 
Spindle, код следует оформлять соответствующим тегом - ищите такую кнопку и исправьте своё сообщение.
По второму вопросу: он никак не вписывается в указанную тему. Да и не будет второй код ВООБЩЕ работать: все строки закомментированы ))
 
ИЛИ не сработало, заменил на И (And)  все заработало...Спасибо большое за помощь
Нашёл как сделать кнопку ..почему то был свято уверен в том, что это сделано макросом

Так что всё равно спасибо что навели на размышления.......

Вопрос 3
Как бы сделать так чтобы вставляющиеся на других страницах строки шли с ссылкой на вставленную строку на странице ТПП (изначальной) на столбцы от B до E

Вопрос 4
Посоветуйте актуальную хорошую книжку по VBA для чайников.
Изменено: Spindle - 02.03.2017 12:42:51
 
Вопрос 5. с Правилами форума ознакомились? п.2.6
 
Категорически прошу прощения.

Так же понял что с предпоследним вопросом мне в раздел Работа.....

Надеюсь вопрос про книгу можно не выносить в отдельную тему.....спасибо за Ваше терпение.
Изменено: Spindle - 02.03.2017 12:47:42
 
Про книжки - можно поискать автора Уокенбах. У него про многое в Excel есть и про программирование тоже.
Еще можно на этом сайте посмотреть раздел ССЫЛКИ.
Кому решение нужно - тот пример и рисует.
Страницы: 1
Наверх