首页 > 解决方案 > 如何使用 vba 代码自动将 Excel 表格数据范围自动填充到右侧

问题描述

我想编写 VBA 代码,用于根据给定日期将 Excel 表格范围数据动态地自动填充到右侧列。例如。如果我在工作表中为“Sep-19”提供日期,它应该自动自动填充包含 9 月 19 日数据的表格范围。我正在使用 Excel 2016 版本。下面是表格数据:

在此处输入图像描述

我已经尝试了一些代码,下面是它的 vba 代码:

Sub Macro4()

Range("Table1[[#Headers],[Month]]").Select
Selection.End(xlToRight).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.FillRight
Range("Table1[[#All],[Aug-19]:[Sep-19]]").Select

End Sub

我希望Range("Table1[[#All],[Aug-19]:[Sep-19]]").Select根据给定月份动态设置最后的代码,我该怎么做?

标签: excelvba

解决方案


下面的代码将选择列的动态范围和从 A1 开始的前 6 行

Sub rg()
Dim sht As Worksheet
Set sht = Worksheets("Data")

Dim LastRow As Long
Dim LastCol As Long

LastRow = Cells(Rows.Count, "A").End(xlUp).Row
LastCol = Cells(1, Columns.Count).End(xlToLeft).Column
Columns(LastCol).Copy
Columns(LastCol + 1).Select
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False

End Sub

推荐阅读