先ほど同じ質問をさせていただいて解決策ご教示頂いたのですが、また同じエラーでつまづいてしまいました。
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も見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
エクセルVBA 実行時エラー'9'の回避方法について
Visual Basic(VBA)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
VBAでcsvファイルもシートもあるのに「インデックスが有効範囲にありません」と表示される
Visual Basic(VBA)
-
-
4
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
5
VBAマクロ実行時エラーの修正について
Visual Basic(VBA)
-
6
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
7
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
8
【Excel VBA】Worksheets().Active でエラーが出る原因を教えてください
Visual Basic(VBA)
-
9
エクセルのマクロボタンが編集できません
Excel(エクセル)
-
10
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
11
エクセルでエラーが出て困っています。
Excel(エクセル)
-
12
csvファイル 項目数取得
Visual Basic(VBA)
-
13
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
14
【Excel VBA】ブックを複数開いている際、任意のブックをアクティブにしたい
Excel(エクセル)
-
15
VBA たまに変数がempty値になるエラー
Excel(エクセル)
-
16
EXCELのVBAでRange(A1:C4")を変数にする方法を教え"
Visual Basic(VBA)
-
17
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
18
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
19
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
20
Access VBAで行ラベルが定義されていないというエラーが出ます
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでcsvファイルもシートもあ...
-
【ExcelVBA】300万件越えCSVか...
-
Excelマクロ 空白セルを無視し...
-
ダブルコーテーション付きでCSV...
-
pythonでリストをCSVに出力する...
-
EXCEL→CSV保存時のダブルクォー...
-
ブラウザ上でcsvファイルの編集
-
VB.netでShellExecuteがしたい
-
vbaマクロについて 次のような...
-
VBAで複数のCSVからレコードセ...
-
VBScript等で、CSV内の各文字列...
-
rubyを用いたCSVファイルの分割...
-
バッチ処理 特定の文字以降を...
-
[コンパイルエラー 修飾子が不...
-
Fortran:列数の分からないデー...
-
VBA テキストボックスを選択状...
-
Access VBA エラー2448について
-
パイソンでテキストファイルが...
-
問題をランダムに出すページの作成
-
MS-DOSバッチファイルコマンド...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelマクロ 空白セルを無視し...
-
【ExcelVBA】300万件越えCSVか...
-
ダブルコーテーション付きでCSV...
-
VBAでcsvファイルもシートもあ...
-
CSVで余計な空行が入る
-
EXCEL→CSV保存時のダブルクォー...
-
LibreOffice Calcのマクロで、...
-
CSVデータの文字列置換
-
VBAで複数のCSVからレコードセ...
-
pythonでリストをCSVに出力する...
-
ファイル名を変数で書きこむfwr...
-
VB.netでShellExecuteがしたい
-
バッチコマンドで指定行を抽出...
-
エクセルの任意のシートをcs...
-
StringGridの中身をCSV形式で保...
-
pythonのこのエラーがわかりません
-
CSVファイルの比較と結果の取得...
-
rubyを用いたCSVファイルの分割...
-
PowerShellからGhostscriptを動...
-
ブラウザ上でcsvファイルの編集
おすすめ情報