我有一个数据仪表板设置过滤选项多年(2016年,2015年等)。
我的数据以表格形式提供,格式如下: Data layout
我现在需要做的是根据我在仪表板上的下拉列表中选择的年份选择正确的单元格(例如,如果过滤器在2016年设置,则选择单元格AB2;如果选择的年份是2015,则选择单元格AC2),在这个单元格中拆分逗号分隔值,并将它们作为单独的行添加到我的输出表中,如下所示: Output layout
各个单元格中逗号分隔的字符串数量可能会有所不同,因此输出表格需要根据单元格中单独值的数量自动展开。
到目前为止,我的代码是基于它们是否为空而自动隐藏或取消隐藏表中的行(因此表根据从原始单元格中提取的分隔值自动扩展)。
Sub HideUnhide()
Dim LEB As Range
Application.ScreenUpdating = False
For Each LEB In Range("D56:D145")
If LEB.Value = 0 Then
LEB.EntireRow.Hidden = True
Else
LEB.EntireRow.Hidden = False
End If
Next LEB
Application.ScreenUpdating = True
End Sub
答案 0 :(得分:3)
这是一个应该做你想做的代码:
粘贴上次使用的行+ 1
中D列中的值Sub Test()
Dim MyArray() As String
MyArray() = Split(ActiveSheet.Cells(2, ActiveSheet.Rows(1).Find(What:="2017", LookAt:=xlPart, MatchCase:=False, SearchFormat:=False).Column), ",")
For i = LBound(MyArray) To UBound(MyArray)
ActiveSheet.Range("D" & ActiveSheet.Cells(ActiveSheet.Rows.Count, "D").End(xlUp).Row + 1) = MyArray(i) 'Populate your range
Next i
End Sub