Вот что делает и работает следующий VBA: - У меня есть пара таблиц и используется именованные диапазоны для каждого из них. - тогда на другой вкладке (где есть код) у меня есть два раскрывающихся списка, чтобы пользователи моего отчета Excel могли выбрать таблицу (только по одному за раз), для которой они хотят отображать данные.VBA для наложения таблицы меньшего размера. Выпадающий список
ПРОБЛЕМА для меня заключается в том, что если я выберу таблицу из раскрывающегося списка, имеющей 30 строк, все будет выглядеть как ячейка назначения A2. НО, если тогда я выберу таблицу, которая имеет только 10 строк, то новая таблица с 10 строками будет наложена на предыдущую таблицу из 30 строк. НО 20 строк (оставшиеся из таблицы 30 строк) под таблицей из 10 строк будут STILL там.
Мой вопрос: Как мне изменить код ниже, чтобы 20 строк из предыдущей таблицы НЕ появлялись, когда в раскрывающемся списке выбрана 10-таблица rwo?
дайте мне знать, если выше не имеет смысла. Спасибо v много.
Мой код в минуту выглядит следующим образом:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim tableName As String
Dim tableRange As Range
Dim TypeOfCosts As String
Application.EnableEvents = False
If Range("B1").Text = "Fixed Staff Costs" Then
TypeOfCosts = "_Fixed_Staff"
ElseIf Range("B1") = "Variable Staff Costs" Then
TypeOfCosts = "_Variable_Staff"
ElseIf Range("B1") = "Production Costs" Then
TypeOfCosts = "_Production"
ElseIf Range("B1") = "Infrastructure Costs" Then
TypeOfCosts = "_Infrastructure"
ElseIf Range("B1") = "Other Costs" Then
TypeOfCosts = "_Other"
Else
TypeOfCosts = ""
End If
tableName = Range("A1").Text & TypeOfCosts & "_Costs"
On Error Resume Next
Set tableRange = Application.Range(tableName)
Debug.Print ThisWorkbook.Names.Count
If Not (tableRange Is Nothing) And Err = 0 Then
tableRange.Copy Destination:=Range("A3")
Else
Err.Clear
End If
On Error GoTo 0
Application.EnableEvents = True
End Sub
'Range («A3») CurrentRegion.ClearContents' перед копированием другого диапазона, до тех пор, пока есть пустое пространство вокруг существующей таблицы (и до тех пор, пока существует существующая таблица). Это действительно зависит от того, как выглядит остальная часть листа, и все ли ваши таблицы представляют собой предсказуемый размер/макет и т. Д. –
Спасибо, но где именно мне нужно добавить вашу строку кода, предложенную выше? – Elena
mmm Ваш код, кажется, не работает .. любые идеи почему? – Elena