掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CSVファイルをExcelに読み込む前にセルの位置を移動させるには? (ID:108510)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> xlapp.Range("A2").Select > →ここの部分でエラーになります 起動直後は、まだワークブック/ワークシートが無い状態ですから、 A2セルを選択しようにも、選択すべきセルが無い状態なのです。 もし、セルを操作したいのであれば、まずは xlApp.Workbooks.Add、ないしは xlApp.Workbooks.Open などを使って、選択すべきセルを用意しておいてください。 そのすれば、Range操作が可能になります。 なお、特に理由が無い限りは、ApplicationオブジェクトのRangeメソッドは 使わない方が良いでしょう。 この場合はかわりに、WorkbookオブジェクトのRangeメソッドを使用してください。 Workbookを指定せずにセルを操作しようとした場合、どのシートのセルを 操作しているのかが曖昧になってしまいますので、気を付けて使わないと、 思わぬ誤動作を引き起こす原因になります。 # オブジェクトの指定を省略した場合、Excel VBAによる操作であれば、 # それは自分自身が持つオブジェクトを指している事が明確となりますが、 # VBから操作した場合は、どのオブジェクトを指しているのかを明示しないと、 # 新たなオブジェクト参照が内部的に生成されてしまうため、処理終了後も # Excelが解放されずに、ゾンビとして残ってしまうことがあります。 なお、同様の理由で、Select系/Active系の命令も、できるだけ 使わないようにした方が無難です。 > Excelの2行目からCSVデータの挿入をすることは出来ないのでしょうか? 『挿入』ならば、Workbooks.OpenText()ではなく、QueryTableですね。 イメージとしては、 Dim objSheet As Excel.Worksheet Dim objQuery As Excel.QueryTable : Set objQuery = objSheet.QueryTables.Add("TEXT;C:\TEST.TXT", objSheet.Range("B1")) objQuery.TextFilePlatform = 932 : objQuery.Refresh False Set objQuery = Nothing のような感じになります。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.