
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
以下のコードは、新規のブックにインポートされます。
256 列を越えた分を、次のシートに貼り付けされます。こちらで試験したのは、300列です。論理的には、シートエラーを起こすまでということになるのですが、それは、常識的な範囲でお願いします。
一本しかない横のデータは、無理だと思います。というか、いわゆる時系列データは、Cells(i) で入れていきますね。1シートで、論理的に16,777,216個のデータが扱えることになります。
Alt+ F11 で、Visual Basic 画面を開いて、挿入-標準モジュールで、新しい画面が出たら、以下を貼り付けます。
なるべく、速い貼り付けができるように、以前あったものを改編してみました。しかし、思ったほど、速くなりませんでした。ハングしたかと思われては困るので、インポートは、見えるようにしました。
'---------------------------------------------------------
'<標準モジュールに登録してください>
Option Explicit
Sub OverColumnCSV()
Dim i As Long, j As Long, k As Long, m As Long, n As Long
Dim rw As Long, col As Long, FNo As Integer
Dim Fname As String
Dim TextLine As String
Dim LineBuf As Variant, arbuf() As Variant
Dim ShtCount As Integer
Dim UB As Long
Dim AddFlg As Integer
'
rw = 1 '最初の行数
Fname = Application.GetOpenFilename("CSV ファイル(*.csv),*.csv")
If Fname = "False" Then
Exit Sub
End If
Workbooks.Add '新規ブック作成
With ActiveWorkbook
FNo = FreeFile()
Open Fname For Input As #FNo 'ファイルインポート
Do Until EOF(FNo)
Line Input #FNo, TextLine
'「""」 の除去
TextLine = Application.Substitute(TextLine, """", "")
LineBuf = Split(TextLine, ",")
UB = UBound(LineBuf) '上限の添え字
ShtCount = .Worksheets.Count
'シート数の確認
If j \ 257 > ShtCount Then .Worksheets.Add _
After:=.Worksheets(ShtCount), Count:=(j \ 257) - ShtCount
'ハングと間違えられるので、画面に出す
'Application.ScreenUpdating = False
If UB Mod 255 Then AddFlg = 1
For j = 1 To (UB \ 257) + AddFlg
With .Worksheets(j)
If UB - j * 255 > 0 Then
col = 256
Else
col = UB Mod 256
End If
k = k + col
For m = (j - 1) * 256 To k - 1
ReDim Preserve arbuf(n)
arbuf(n) = LineBuf(m)
n = n + 1
Next m
.Range(.Cells(rw, 1), .Cells(rw, col)).Value = arbuf
ReDim arbuf(0): n = 0
End With
Next j
rw = rw + 1: k = 0: m = 0
Loop
'Application.ScreenUpdating = True
Close #FNo
End With
MsgBox "終了しました", 64
End Sub
'---------------------------------------------------------

No.1
- 回答日時:
EXCELの仕様が横が256セルですからそのままでは難しいですね。
多分ACCESSならば読めるとは思うのですがEXCELしかなくどうしてもということであれば、面倒ですが下記の方法でカットされたデータを読み込むのはどうでしょうか?1.まずCSVファイルの拡張子をTXT等に変更します(コピーを作ってやって下さい)。
2.次に上記で拡張子を変更したファイルを開きますと「テキストファイルウィザード」が開きますので「タブやカンマ~」にチェックが入っていることを確認して次へ。
3.「区切り文字」に「カンマ」を追加して次へ。
4.「列のデータ形式」で257列以降を残して削除にチェックを入れて完了。
これでカットされた257列以降分のデータが読み込めるはずです。ただデータの順番のずれには気をつけてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) csvファイルをExcel形式で読み込むには 2 2023/07/03 13:09
- Access(アクセス) accessでexcelを読み込む時のデータ型 1 2022/03/28 19:45
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) マクロを教えてください。 7 2023/06/01 19:47
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Excel(エクセル) csvに別のExcelの文章を差し込む 2 2023/04/01 16:06
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のCSVファイルを横に並べて...
-
VBAでCSVの1行目だけを書き換え...
-
エクセルの指数を無効にしたい
-
excelインポート時の「実行時エ...
-
CSVファイルの結合(重複データ...
-
Excel VBAを使った複数のCSVフ...
-
複数個のascファイルを1つ...
-
「ほかのアプリケーションを無...
-
海外の印刷所を使って入稿する...
-
EXCELにcsv形式の外部データを...
-
複数のcsvファイルを1つのEXCEL...
-
ExcelVBAで今開いているユーザ...
-
昨日まで動いていたエクセルの...
-
複数のデータ系列の線の太さを...
-
VBAを一度起動するとずっと出て...
-
マクロを消すマクロは不可能?
-
Excelマクロ ファイル名が変わ...
-
フォルダ内の全ブックのシート...
-
Excelが勝手にシート移動してし...
-
VBA マクロ実行時エラー’1004Ra...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの指数を無効にしたい
-
複数のCSVファイルを横に並べて...
-
VBAでCSVの1行目だけを書き換え...
-
excelインポート時の「実行時エ...
-
「ほかのアプリケーションを無...
-
複数のcsvファイルを1つのEXCEL...
-
EXCELにcsv形式の外部データを...
-
CSVファイルの結合(重複データ...
-
二つのCSVファイルを照らし合わ...
-
Excel VBAを使った複数のCSVフ...
-
大量のCSVデータを1つのエ...
-
複数個のascファイルを1つ...
-
【VBA初心者】同じフォルダ内の...
-
複数のCSVファイルからのデータ...
-
【エクセル VBA】CSVファイルの...
-
エクセルのcsvで、12e3を入れる...
-
VBAでユーザーフォーム上に参照...
-
CSVファイルがうまく開けない
-
Accessにエクセルからデータを...
-
エクセルでcsvデータを自動読み...
おすすめ情報