Я сама дизайнер, только начала изучать excel, не знаю как правильно подойти к данной задаче. Суть такова. Разные люди заполнят первый лист в строках - артикул, название и выбирают с выпадающего списка (может здесь он и не нужен) какой размер этикетки нужен для этого продукта. И в зависимости от их выбора должны добавляться/удаляться строки с названием и артикулом на листы в этом же документе с названием размера. Подскажите, с какой стороны решать данную задачу. Возможно нужен макрос? пример в файле. Спасибо.
Я сама дизайнер, только начала изучать excel, не знаю как правильно подойти к данной задаче. Суть такова. Разные люди заполнят первый лист в строках - артикул, название и выбирают с выпадающего списка (может здесь он и не нужен) какой размер этикетки нужен для этого продукта. И в зависимости от их выбора должны добавляться/удаляться строки с названием и артикулом на листы в этом же документе с названием размера. Подскажите, с какой стороны решать данную задачу. Возможно нужен макрос? пример в файле. Спасибо.yagaq
Доброе утро, Надежда! Сделайте все в одной таблице, образец приложил. Если на один и тот же товар нужно несколько типоразмеров этикеток - нужно заполнить соответствующее количество строк. После, фильтром в столбце "Размер этикетки" просто выбирать нужные.
Доброе утро, Надежда! Сделайте все в одной таблице, образец приложил. Если на один и тот же товар нужно несколько типоразмеров этикеток - нужно заполнить соответствующее количество строк. После, фильтром в столбце "Размер этикетки" просто выбирать нужные.Russel
и вам здравствуйте выбираем из списка "+" и смотрим на листах
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim dD&, Stb&, Sts& dD = Cells(Rows.Count, 1).End(xlUp).Row If Target.Count > 1 Then Exit Sub If Not Intersect(Target, Range("C3:G" & dD)) Is Nothing Then
If Target = "+" Then Stb = Target.Column Sts = Target.Row ShsStb = Cells(2, Stb).Value dD1 = Sheets(ShsStb).Cells(Rows.Count, 1).End(xlUp).Row + 1 Range(Cells(Sts, 1), Cells(Sts, 2)).Copy If dD1 = 2 Then dD1 = 3 Else dD1 = dD1 End If Sheets(ShsStb).Range("A" & dD1).PasteSpecial End If End If End Sub
[/vba]
[p.s.]критика приветствуется
и вам здравствуйте выбираем из списка "+" и смотрим на листах
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim dD&, Stb&, Sts& dD = Cells(Rows.Count, 1).End(xlUp).Row If Target.Count > 1 Then Exit Sub If Not Intersect(Target, Range("C3:G" & dD)) Is Nothing Then
If Target = "+" Then Stb = Target.Column Sts = Target.Row ShsStb = Cells(2, Stb).Value dD1 = Sheets(ShsStb).Cells(Rows.Count, 1).End(xlUp).Row + 1 Range(Cells(Sts, 1), Cells(Sts, 2)).Copy If dD1 = 2 Then dD1 = 3 Else dD1 = dD1 End If Sheets(ShsStb).Range("A" & dD1).PasteSpecial End If End If End Sub
Private Sub Worksheet_Change(ByVal Target As Range) Dim dD&, Stb&, Sts&, dD1& dD = Cells(Rows.Count, 1).End(xlUp).Row If Target.Count > 1 Then Exit Sub If Not Intersect(Target, Range("C3:G" & dD)) Is Nothing Then
If Target = "+" Then Stb = Target.Column Sts = Target.Row ShsStb = Cells(2, Stb).Value dD1 = Sheets(ShsStb).Cells(Rows.Count, 1).End(xlUp).Row + 1 Range(Cells(Sts, 1), Cells(Sts, 2)).Copy If dD1 = 2 Then dD1 = 3 Else dD1 = dD1 End If Sheets(ShsStb).Range("A" & dD1).PasteSpecial End If If Target = "-" Then Stb = Target.Column Sts = Target.Row ShsStb = Cells(2, Stb).Value dD1 = Sheets(ShsStb).Cells(Rows.Count, 1).End(xlUp).Row + 1 Set Artikl = Sheets("Ñïèñîê").Range("A3:A" & dD).Find(Target.Offset(0, -(Stb - 1))) ArtiklStr = Artikl.Row
For i = dD1 To 3 Step -1 If Sheets(ShsStb).Range("A" & i).Value = Sheets("Ñïèñîê").Range("A" & ArtiklStr) Then Sheets(ShsStb).Rows(i).Delete End If Next i
Private Sub Worksheet_Change(ByVal Target As Range) Dim dD&, Stb&, Sts&, dD1& dD = Cells(Rows.Count, 1).End(xlUp).Row If Target.Count > 1 Then Exit Sub If Not Intersect(Target, Range("C3:G" & dD)) Is Nothing Then
If Target = "+" Then Stb = Target.Column Sts = Target.Row ShsStb = Cells(2, Stb).Value dD1 = Sheets(ShsStb).Cells(Rows.Count, 1).End(xlUp).Row + 1 Range(Cells(Sts, 1), Cells(Sts, 2)).Copy If dD1 = 2 Then dD1 = 3 Else dD1 = dD1 End If Sheets(ShsStb).Range("A" & dD1).PasteSpecial End If If Target = "-" Then Stb = Target.Column Sts = Target.Row ShsStb = Cells(2, Stb).Value dD1 = Sheets(ShsStb).Cells(Rows.Count, 1).End(xlUp).Row + 1 Set Artikl = Sheets("Ñïèñîê").Range("A3:A" & dD).Find(Target.Offset(0, -(Stb - 1))) ArtiklStr = Artikl.Row
For i = dD1 To 3 Step -1 If Sheets(ShsStb).Range("A" & i).Value = Sheets("Ñïèñîê").Range("A" & ArtiklStr) Then Sheets(ShsStb).Rows(i).Delete End If Next i