
先ほど同じ質問をさせていただいて解決策ご教示頂いたのですが、また同じエラーでつまづいてしまいました。
Dim Csv_ws As Worksheet
Set Csv_ws = Workbooks("C:\Users\Administrator\Desktop\data2.csv").Worksheets(1)
実行すると「インデックスが有効範囲にありません」とエラーが出てしまいます。
先ほどはcsvを開いていなかった事がエラーの原因だったのですが、今回はdata2.csvは開いた状態です。
一度閉じて、
C:\Users\Administrator\Desktop\data2.csv
をエクスプローラにペーストしEnterを押すとdata2.csvが開くのでフルパスも記述ミスはないと思われます。
data2.csvはダウンロードしてきたものです。
度々で恐縮なのですが解決策ご教示お願い致します。
No.1ベストアンサー
- 回答日時:
こんばんは、
既に開いていると言う事なので、
Workbooks("C:\Users\Administrator\Desktop\data2.csv")は
C:\Users\Administrator\Desktop\data2.csvと言うファイル名を指す事になるかと、この場合、
Windows("data2.csv").Activate とか
Workbooks("data2.csv").Activate とかになります。(アクティブにしている)
なので、
Set Csv_ws = Workbooks("Sheet1.csv").Worksheets(1)
で良いかと、思います。
VBAで他のファイルを操作する場合、開いて、閉じるなどの操作を
含めて行う事が多いです。対象ファイルを開くことで、開いたファイルがアクティブになる為、把握し易いからです。
ご質問とは、離れますが、参考まで
Sub nnn()
Dim Csv_ws As Worksheet
Dim Path As String
Path = CreateObject("WScript.Shell").SpecialFolders("Desktop")
With Workbooks.Open(Path & "\data2.csv") '開く
Set Csv_ws = .Sheets(1)
’メイン処理
’下記は、サンプル A1セルの値をマクロ実行ブックのA1セルに入力(抽出)
ThisWorkbook.ActiveSheet.Cells(1, 1) = Csv_ws.Cells(1, 1)
' .Close ’閉じる
End With
End Sub
CreateObject("WScript.Shell").SpecialFolders("Desktop")は、
デスクトップアドレスを取得しています。
ん?、勘違いしていたらごめんなさい。
ありがとうございます。
Set Csv_ws = Workbooks("data2.csv").Worksheets(1)
とシンプルに記述することで解決しました。
補足情報までわざわざコードを書いて説明して下さってありがとうございました。
No.3
- 回答日時:
> 今回はdata2.csvは開いた状態です。
どうやって開いてるの?
ダブルクリックで開いてるなら、
・ダブルクリックで開かれたdata2.csv
・C:\Users\Administrator\Desktop\data2.csv
を同じファイルと認識していないとか。
Workbooks.Open Filename:="C:\Users\Administrator\Desktop\data2.csv"
で開いてみるとかでは?
> Set Csv_ws = Workbooks("C:\Users\Administrator\Desktop\data2.csv").Worksheets(1)
csvファイルにはワークシートって無いですから、どうだろう?
~.xlsファイルでは?
#手元にExcel無くて確認出来ないですけど。
ファイルは
Workbooks.Open Filename:="C:\Users\Administrator\Desktop\data2.csv"
で開いています。
フルパスではなくファイル名だけ記述することで解決しました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- その他(開発・運用・管理) Python CSVファイルについて 2 2023/01/04 21:19
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Visual Basic(VBA) VBAで出力したCSVファイルの先頭にカンマを挿入したい 5 2022/10/14 12:20
このQ&Aを見た人はこんなQ&Aも見ています
-
【ExcelVBA】インデックスが有効範囲にありません。の理由が分かりません
Visual Basic(VBA)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
-
4
EXCEL VBA で指定した範囲に入力があるかどうか?
Visual Basic(VBA)
-
5
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
6
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
7
UserForm1.Showでエラーになります。
工学
-
8
ACCESS VBA インデックスが有効範囲ではありません。の解決方法をご教示下さい。
Visual Basic(VBA)
-
9
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
10
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
11
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
12
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
13
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
14
ファイルは既に開かれています(Error55)について
Visual Basic(VBA)
-
15
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
16
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
17
Excel:マクロを消す方法教えてください。
Excel(エクセル)
-
18
エクセルマクロで特定の範囲が空白という条件
Excel(エクセル)
-
19
VBA マクロ実行時エラー’1004RangeクラスのPasteSpecialメソッドが失敗
Access(アクセス)
-
20
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】並び替えの範囲が、...
-
VBA ユーザーフォーム ボタンク...
-
2つのマクロでチェックボックス...
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
[VB.net] ボタン(Flat)のEnable...
-
VBAでCOPYを繰り返すと、処理が...
-
エクセルのマクロについて教え...
-
vb.net(vs2022)のtextboxのデザ...
-
Vba 型が一致しません(エラー1...
-
【ExcelVBA】値を変更しながら...
-
Excelのマクロについて教えてく...
-
【ExcelVBA】5万行以上のデー...
-
VBAでセルの書式を変えずに文字...
-
Excel VBA 選択範囲の罫線色の...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
エクセルの改行について
-
エクセルのVBAコードと数式につ...
-
ExcelのVBAコードについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでcsvファイルもシートもあ...
-
Excelマクロ 空白セルを無視し...
-
【ExcelVBA】300万件越えCSVか...
-
ダブルコーテーション付きでCSV...
-
ファイル名を変数で書きこむfwr...
-
VBAで複数のCSVからレコードセ...
-
CSVデータの文字列置換
-
複数のファイルをまたぐエクセ...
-
CSVファイルの比較と結果の取得...
-
【C#】 csvファイルをバイナリ...
-
PowerShellからGhostscriptを動...
-
EXCEL→CSV保存時のダブルクォー...
-
VB.NETでオブジェクトの内容を...
-
パイソン文法で ファイルオープ...
-
VB.netでShellExecuteがしたい
-
PowerShellでファイルの連結方法
-
Rubyを使用してcsvファイルを処...
-
rubyを用いたCSVファイルの分割...
-
バッチファイルでcsvファイルに...
-
エクセルの任意のシートをcs...
おすすめ情報