名前付き範囲を削除しようとすると、「実行時エラー '1004': アプリケーション定義またはオブジェクト定義のエラー」というメッセージが表示される理由がわかりません。
.csv ファイルからデータをインポートし、範囲に「history」という名前を付けるために使用されるコードを次に示します。
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\<user name>\Downloads\history.csv", Destination:=Range(destCell))
.Name = "history"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 3
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(3, 1, 2, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
「履歴」という名前の範囲を削除するために使用されるコードを次に示します。その直前の行は、名前付き範囲を見つけるのに問題なく機能することに注意してください。名前を削除しないだけです。
Application.Goto Reference:="history"
ActiveWorkbook.Names("history").Delete