excel - 由创建名为 06/01、06/02 等的新工作表的宏自动填充的天数相反的顺序

标签 excel

我正在尝试设置一个宏,该宏在运行时将按时间顺序自动创建具有日期名称的新工作表。例如:06/01、06/02 并用"template"表中的数据填充单元格。宏当前将以相反的顺序创建这些工作表,例如 06/30、06/29..等。我如何使它从 06/01...06/30 而不是 06/30...06/01 开始并创建新的命名工作表?

我已经尝试了下面列出的代码。随着改变
Sheets("Temp").Range("d5").Value = Sheets("Temp").Range("a5") - X

Sheets("Temp").Range("d5").Value = Sheets("Temp").Range("a5") + X
在 VB 中为 Temp Sheet 设置代码:

- 开始 -

Sub Dtpopulate()

Dim S As Integer
Dim X As Integer
S = Sheets("Temp").Range("c5").Value

For X = 1 To S

newname = Sheets("Temp").Range("a6").Value

Worksheets("Template").Activate
       Sheets("Template").Cells.Select
    Selection.Copy


Sheets.Add.Name = newname
        Sheets(newname).Cells.Select
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, 
Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False

    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False


Sheets("Temp").Range("d5").Value = Sheets("Temp").Range("a5") - X

Next X


End Sub

- 结束 -

我希望创建工作表并使用"template"中的数据自动填充,并且每张工作表都命名为 06/01...06/30,但输出是命名为 06/30 到 06/01 的工作表。

最佳答案

如果您单步执行您的代码,您会注意到工作表是以正确的顺序创建的:他们只是没有按顺序组织。

您将希望每张新工作表都位于最近创建的工作表后面。您可以阅读有关创建新工作表的详细信息 here .此链接中回答您问题的代码是:
Sheets.Add(After:=Worksheets(Worksheets.Count))

关于excel - 由创建名为 06/01、06/02 等的新工作表的宏自动填充的天数相反的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56401664/

相关文章:

vba - 跳过 "Open as read-only?"的自动弹出

c# - 读取Excel文件

Excel公式在数字(30)而不是50之后四舍五入到最接近的一百

jquery - 数据表导出到 Excel 并将数字列格式化为货币

xml - 向 Excel 单元格添加格式设置

c# - 如何将图片插入到excel单元格中?

python - 在wireshark中看不到OPCUA协议(protocol)

python - 使用 Pandas 代码创建独立文件

excel - 基于按钮隐藏/取消隐藏工作表的宏

excel - 在时间表内同时刷新外部数据源和数据透视表