Добрый день. в VBA не силен, поэтому обращаюсь к вам. У меня есть макрос который делает фигуру прозрачной по значению в ячейке. Мне необходимо чтоб название фигуры и значение находились на другом листе, ну допустим Лист2 ячейка F10. Соответственно в макросе должна быть ссылка на конкретный лист и ячейку. К сожалению сделать самому не получилось подскажите вы пожалуйста. Пример кода. [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) lr = Cells(Rows.Count, 2).End(xlUp).Row arr = Range(Cells(10, 1), Cells(lr, 3)).Value For Each Shape In ActiveSheet.Shapes For i = 1 To UBound(arr) If Shape.Name = arr(i, 1) Then If arr(i, 2) = 1 Then Shape.Fill.Transparency = 1 If arr(i, 2) = 2 Then Shape.Fill.Transparency = 0 End If Next Next End Sub
[/vba]
Добрый день. в VBA не силен, поэтому обращаюсь к вам. У меня есть макрос который делает фигуру прозрачной по значению в ячейке. Мне необходимо чтоб название фигуры и значение находились на другом листе, ну допустим Лист2 ячейка F10. Соответственно в макросе должна быть ссылка на конкретный лист и ячейку. К сожалению сделать самому не получилось подскажите вы пожалуйста. Пример кода. [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) lr = Cells(Rows.Count, 2).End(xlUp).Row arr = Range(Cells(10, 1), Cells(lr, 3)).Value For Each Shape In ActiveSheet.Shapes For i = 1 To UBound(arr) If Shape.Name = arr(i, 1) Then If arr(i, 2) = 1 Then Shape.Fill.Transparency = 1 If arr(i, 2) = 2 Then Shape.Fill.Transparency = 0 End If Next Next End Sub
MrHell, добрый день! Если правильно я понял то по всей видимости так: [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Private Sub Worksheet_SelectionChange(ByVal Target As Range) lr = Cells(Rows.Count, 2).End(xlUp).Row With Sheets("Лист2") 'sancho arr = .Range(.Cells(1, 1), .Cells(lr, 3)).Value 'sancho End With 'sancho For Each Shape In ActiveSheet.Shapes For i = 1 To UBound(arr) If Shape.Name = arr(i, 1) Then If arr(i, 2) = 1 Then Shape.Fill.Transparency = 1 If arr(i, 2) = 2 Then Shape.Fill.Transparency = 0 End If Next Next End Sub
MrHell, добрый день! Если правильно я понял то по всей видимости так: [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Private Sub Worksheet_SelectionChange(ByVal Target As Range) lr = Cells(Rows.Count, 2).End(xlUp).Row With Sheets("Лист2") 'sancho arr = .Range(.Cells(1, 1), .Cells(lr, 3)).Value 'sancho End With 'sancho For Each Shape In ActiveSheet.Shapes For i = 1 To UBound(arr) If Shape.Name = arr(i, 1) Then If arr(i, 2) = 1 Then Shape.Fill.Transparency = 1 If arr(i, 2) = 2 Then Shape.Fill.Transparency = 0 End If Next Next End Sub