gpt4 book ai didi

vba - 用于创建新工作表的 Excel 宏

转载 作者:行者123 更新时间:2023-12-04 21:17:18 24 4
gpt4 key购买 nike

我正在尝试遍历一行中的某些列,并使用我所在的当前列/行的值的名称创建新的工作表。

Sub test()
Range("R5").Select
Do Until IsEmpty(ActiveCell)
Sheets.Add.Name = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
Loop
End Sub

此代码从 开始正确创建第一个R5 但随后似乎宏切换到该工作表并且没有完成任务。

最佳答案

Sheets.Add 会自动将您的选择移动到新创建的工作表(就像您手动插入新工作表一样)。因此,偏移量基于现在已成为您选择的新工作表的单元格 A1 - 您选择一个空单元格(因为工作表是空的)并且循环终止。

Sub test()
Dim MyNames As Range, MyNewSheet As Range

Set MyNames = Range("R5").CurrentRegion ' load contigeous range into variable
For Each MyNewSheet In MyNames.Cells ' loop through cell children of range variable
Sheets.Add.Name = MyNewSheet.Value
Next MyNewSheet
MyNames.Worksheet.Select ' move selection to original sheet
End Sub

这会更好....您将名称列表分配给 Range 类型的对象变量,并在 For Each 循环中解决此问题。完成后,您将您的选择放回您来自的地方。

关于vba - 用于创建新工作表的 Excel 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12080006/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com