Добрый день! Скажите, как можно (и можно ли вообще) использовать в формуле адрес ячейки, или номер столбца, или номер строки которые определены макросом. В файле-примере в зелёных ячейках номер активного столбика, его букву и адрес активной ячейки определяет макрос, нужно использовать эти данные (или одно из них) в формуле. При переходе по жёлтым ячейкам данные в зелёных будут меняться. Спасибо!
Добрый день! Скажите, как можно (и можно ли вообще) использовать в формуле адрес ячейки, или номер столбца, или номер строки которые определены макросом. В файле-примере в зелёных ячейках номер активного столбика, его букву и адрес активной ячейки определяет макрос, нужно использовать эти данные (или одно из них) в формуле. При переходе по жёлтым ячейкам данные в зелёных будут меняться. Спасибо!Oleg_Nik
Только зачем формула? Вычисляйте значение тоже в макросе. Не?
Спасибо! Этот файл только для примера - задача сложнее, и макрос очень долго работает. (по крайней мере у меня и придуманный мной). Формула быстрее. Спасибо!
Только зачем формула? Вычисляйте значение тоже в макросе. Не?
Спасибо! Этот файл только для примера - задача сложнее, и макрос очень долго работает. (по крайней мере у меня и придуманный мной). Формула быстрее. Спасибо!Oleg_Nik
Вы бы показали макрос, а мы бы его поправили Например то, что у Вас было, можно переписать так [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub ' If Not Intersect(Target, Cells(10, 1).Resize(1, 10)) Is Nothing Then If Target = Empty Then ' Cells(10, 1).Resize(1, 20).ClearContents Target = "Привет!" ' Range("ActSt") = Target.Column ' ' Range("ActCellsLetter") = Left(Target.Address(0, 0), 1) ' Range("ActCellsAddress") = Target.Address Cells(11, 11) = Len(Cells(11, Target.Column)) Else Target.ClearContents End If End If End Sub
[/vba]
Вы бы показали макрос, а мы бы его поправили Например то, что у Вас было, можно переписать так [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub ' If Not Intersect(Target, Cells(10, 1).Resize(1, 10)) Is Nothing Then If Target = Empty Then ' Cells(10, 1).Resize(1, 20).ClearContents Target = "Привет!" ' Range("ActSt") = Target.Column ' ' Range("ActCellsLetter") = Left(Target.Address(0, 0), 1) ' Range("ActCellsAddress") = Target.Address Cells(11, 11) = Len(Cells(11, Target.Column)) Else Target.ClearContents End If End If End Sub