No.2ベストアンサー
- 回答日時:
<data.csv>
1,2,3
11,22,33
111,222,333
<Book1.xls>
A B C
1 11 111
2 22 222
3 33 333
と読み込んでエクセルシートに表示するには、
Option Explicit
Private Sub CommandButton1_Click()
Dim I As Integer
Dim J As Integer
Dim N As Integer
Dim M As Integer
Dim Datas() As String
Dim Texts() As String
Datas() = FileReadArray("data.csv")
N = UBound(Datas()) + 1
For I = 1 To N
Texts() = Split(Datas(I - 1), ",")
M = UBound(Texts()) + 1
For J = 1 To M
Sheets(1).Cells(J, I) = Texts(J - 1)
MsgBox Texts(J - 1)
Next J
Next I
End Sub
プログラムコードを簡略化するためにCSVファイルを配列に読み込む FileReadArray()を利用しています。
Option Explicit
Public Function FileReadArray(ByVal FileName As String) As String()
On Error GoTo Err_FileReadArray
Dim fso As FileSystemObject
Dim fil As File
Dim txs As TextStream
Dim strText As String
Dim strTexts() As String
Set fso = New FileSystemObject
Set fil = fso.GetFile(FileName)
Set txs = fil.OpenAsTextStream(ForReading, TristateUseDefault)
strText = txs.ReadAll
strTexts = Split(strText, Chr$(13) & Chr$(10))
Exit_FileReadArray:
FileReadArray = strTexts()
Exit Function
Err_FileReadArray:
MsgBox Err.Description & "(FileReadArray)", vbExclamation, " 関数エラーメッセージ"
strTexts() = Split("")
Resume Exit_FileReadArray
End Function
遅くなって申し訳ありません。
>FileReadArray()・・・知りませんでした。
参考にさせていただきます。
ありがとうございました。
No.3
- 回答日時:
>ずばっというと、データの入っているExcelをプログラムから呼び出して立ち上げたいんです。
こういうことですか。
Private Sub Command1_Click()
Dim File2 As String
File2 = App.Path & "\data.csv"
Open File2 For Output As #2
Print #2, "1,2,3"
Print #2, "abc,def,hij"
Close #2
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Sheet")
ExcelSheet.Application.Quit
Shell ExcelSheet.Application.Path & "\excel.exe " & File2, vbNormalFocus
Set ExcelSheet = Nothing
End Sub
No.1
- 回答日時:
まず、開きたいファイルのパスは以下のとおりですよね。
app.Path & "\data.csv"
csvファイルはカンマ区切りのデータなので、
1行ずつ読み込んで、split関数を使ってデータ取得できると思います。
申し訳ないのですが、私には具体的にどのような処理をしたいのかが
いまいち判りませんでした…。
どこまで説明したらよいのかがわかりませんので
ひとまず、これで少しはヒントになるでしょうか。
この回答への補足
説明がいたらず、申し訳ありません。
ずばっというと、データの入っているExcelをプログラムから呼び出して立ち上げたいんです。
またアドバイスがありましたらよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Excel(エクセル) Excelを開くとエラーが出る 2 2022/10/03 16:13
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- XML エクセルのマクロについて教えてください。 3 2023/02/06 09:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カンマ区切りのCSVファイルから...
-
複数のcsvファイルをExcelに一...
-
CSV形式での保存時に”文字列...
-
csvファイルでの日付設定「yyyy...
-
ADODBでSQL実行前にレコードセ...
-
複数のCSVファイルのAccessテー...
-
データ解析ソフトRでのファイル...
-
【C#】パス名で無効な文字
-
csvファイルを列数ごとに分割す...
-
【ExcelVBA】UTF-8の文字コード...
-
COBOL85でのCSVファ...
-
VBAでcsvファイルを読み込んで...
-
csvファイル 項目数取得
-
CSVファイル作成
-
エクセルVBA 大容量CSVファイル...
-
vb2010でCSVファイルを並び替え...
-
ファイル名ないにあるカンマを...
-
エクセルで運転時間を見たい
-
マクロから出力されるcsvのダブ...
-
ファイルのアクセス回数について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カンマ区切りのCSVファイルから...
-
CSV形式での保存時に”文字列...
-
複数のcsvファイルをExcelに一...
-
csvファイル 項目数取得
-
csvファイルでの日付設定「yyyy...
-
バッチでCSVを処理する時、空の...
-
マクロから出力されるcsvのダブ...
-
csvファイルを列数ごとに分割す...
-
エクセル形式のファイルの読み込み
-
csvファイルのデータの一部を取...
-
エクセルVBA 大容量CSVファイル...
-
CSVファイル作成
-
EXCEL|csvで保存→開くcsvを閉じる
-
CSVファイルの項目行を削除...
-
巨大なCSVの加工(指定列のみの...
-
データ解析ソフトRでのファイル...
-
VBAでCSVファイルのデータを集...
-
【ExcelVBA】UTF-8の文字コード...
-
【C#】パス名で無効な文字
-
特定文字を入ってるCSVの特定の...
おすすめ情報