[英]VBA Runtime error while assigning variable to new worksheet name
从要创建的单元格A7(股票名称)中创建新工作表,并将来自Google的数据粘贴到该新创建的工作表中。 如果直接使用DLF
类的值,则在My Code中代替x
可以使用。
但是,当我分配变量时,在Sheets.Add.Name = x
出现Runtime error 1004
,在Set DataSheet = Sheets(x)
Runtime error 9
。
Dim ParameterSheet As Worksheet
Dim DataSheet As Worksheet
Dim ticker As String
Dim exchange As String
Dim interval As Integer
Dim numPastTradingDays As Integer
Dim qurl As String
Dim x As String
Dim y As Integer
Dim WS As Worksheet
y = 7
x = Range("A" & y)
Set WS = Sheets.Add
Sheets.Add.Name = x
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
Set ParameterSheet = Sheets("Parameters")
Set DataSheet = Sheets(x)
DataSheet.Cells.Clear
ticker = ParameterSheet.Range("A7").Value
exchange = ParameterSheet.Range("B7").Value
interval = ParameterSheet.Range("C7").Value
numPastTradingDays = ParameterSheet.Range("D7").Value
qurl = "http://www.google.com/finance/getprices?" & _
"q=" & ticker & _
"&i=" & interval & _
"&p=" & numPastTradingDays & "d" & _
"&f=d,o,h,l,c,v"
虽然Worksheet.Name属性是工作表和工作表的属性 ,但它不是Sheets.Add方法中的参数。
'method 1
with Sheets.Add
.Name = x
end with
'method 2
sheets.Add After:=sheets(sheets.count)
sheets(sheets.count).name = x
这些是添加和命名工作表的两种方法。 还有一些。
用ws.name = x替换Sheets.Add.Name = x
(您必须参考ws对象名属性)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.