gpt4 book ai didi

excel - 使用对象调用方法时未定义 VBA 变量

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

嗨,我第一次使用 VBA 开发(之前使用的是 vb.net 等)。
我总是得到错误

Variable is not defined



运行代码时。
调用方法 writeHeaders程序总是退出。

一些帮助将不胜感激,这件事让我发疯了。
Option Explicit

Sub exportToAPplus()

Dim applusImport As Workbook
Set applusImport = createFile
writeHeaders applusImport
End Sub

Function createFile() As Workbook

Dim dateiName As String
dateiName = Application.GetSaveAsFilename()
If dateiName <> "Falsch" And dateiName <> "False" Then
Dim applusImport As Workbook
dateiName = dateiName + "xlsx"
Set applusImport = Workbooks.Add
Application.DisplayAlerts = False
applusImport.SaveAs dateiName, FileFormat:=xlOpenXMLWorkbook
Application.DisplayAlerts = True
Set createFile = applusImport
Else
MsgBox ("Sie haben keinen Dateinamen ausgewählt, es wurde nichts
gespeichert.")
End If

End Function

Sub writeHeaders(applusImport As Workbook)
Dim headers() As Variant
headers() = Array("DATUM", "AUFTRAG", "PERSONAL", "KSTR", "INNENAUFTRAG", "POSITION", "AG", "KAPAST", "MASCHINENGRUPPE", "START", "ENDE", "DAUER", "BESCHREIBUNG")
Application.ScreenUpdating = False
For i = LBound(headers()) To UBound(headers()) Step 1
.Cells(1, 1 + i).Value = headers(i)
Next i
applusImport.Save
Application.ScreenUpdating = True
End Sub

最佳答案

错误

"Variable is not defined"



意味着您使用了一个变量而没有定义它。

您尚未在 writeHeaders 中声明的变量是变量 i .
在使用 i 之前,您必须声明它并指定它的类型。 :
Dim i As Long 
For i = LBound(headers()) To UBound(headers()) Step 1

注意出现这种错误是因为你使用了 Option Explicit强制变量声明(强烈建议这样做)。如需更多信息,请参阅: Excel Easy: Option Explicit

关于excel - 使用对象调用方法时未定义 VBA 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53152934/

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