Excel VBAを使って、テキストデータをExcelインポートしたいと思っています。
画像を添付していますが、こちらにも例として。
*********************↓例↓***********************
/NAME 1行目
//① 2行目
A,B,C,D 3行目
E,F,G,H 4行目
,,,
,,,
省略
,,, 1026行目
//② 1027行目
AA,BB,CC,DD 1028行目
EE,FF,GG,HH 1029行目
,,,
,,,
省略
,,, 2051行目(データ最終行)
*********************↑例↑***********************
このようなデータを読み込みたいと思っています。
1行目・2行目を無視して、3行目のデータから
ExcelのF列5行目から繁栄をさせたいです。
また、A,B,C,D となっている状態で
F5にA F6にB F7にC F8にE
と繁栄をさせたいと思っています。
そして、1027行目を無視して、1028行目からのデータを
K列5行目から同じように
K5にAA K6にBB K7にCC K8にDD
と言うようなデータ繁栄をさせたいと思うのですが
何か方法が思い付く方がいましたら、教えて頂きたいです。。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
こんばんは
内容が良く分かりませんが、なんとなくで
新規シート(加工用)にQueryTables.Addでカンマ区切り、必要カラムのみで抽出 一旦 = でVariant配列に入れ Transposeで行列を入れ替え出力、
必要であれば、不要列などを削除(シート上で加工、記録も出来るかな、)
配列出力時などや配列内で加工できるなら飛ばして出力するだけ
加工した場合、改めて= でVariant配列に入れ
対象シートに出力、(出力先が飛び列ならstepでループ)
データの行や値がユニークなら
新規シート(加工用)にQueryTables.Addでカンマ区切り、必要カラムのみ
Find などで データ行を配列へ Transpose で 出力
No.4
- 回答日時:
CSVの読み込み方法|VBAサンプル集
https://excel-ubara.com/excelvba5/EXCEL111.html
> もっとも簡単かつ良くあるCSV読み込みVBAコード
をベースにいじったもの。
質問の内容と解釈変えてますが、希望の操作になると思われます。
1行ずつ読み込む。
2行目まではスルー
書き込み行(RO)は5。
書き込み列(CO)は6(F列)。
各行を読み込み、要素を縦に追加していく。
その過程で、
CSVの1つ目のデータの先頭2文字が"//"の場合は…
書き込み行(RO)を5に戻し、
書き込み列(CO)は+5する(6+5=11列目 → K列)。
Option Explicit
Sub CSV入力1()
Dim varFileName As Variant
Dim intFree As Integer
Dim strRec As String
Dim strSplit() As String
Dim i As Long, j As Long
Dim RO As Long, CO As Long
varFileName = Application.GetOpenFilename(FileFilter:="CSVファイル(*.csv),*.csv", _
Title:="CSVファイルの選択")
If varFileName = False Then
Exit Sub
End If
intFree = FreeFile '空番号を取得
Open varFileName For Input As #intFree 'CSVファィルをオープン
RO = 5
CO = 6
i = 0
Do Until EOF(intFree)
Line Input #intFree, strRec '1行読み込み
i = i + 1
strSplit = Split(strRec, ",") 'カンマ区切りで配列へ
If i > 2 Then
For j = 0 To UBound(strSplit)
If Left(strSplit(0), 2) <> "//" Then
Cells(RO, CO) = strSplit(j)
RO = RO + 1
Else
RO = 5
CO = CO + 5
Exit For
End If
Next
End If
Loop
Close #intFree
End Sub
コードまで作成して頂いてありがとうございます!
VBA自体初心者でしたので、すごく助かりました!!
Excelから出力したい場合、このサイトを基に作成する事できますでしょうか?
No.3
- 回答日時:
こんにちは
ご説明だけでは、よくわかりませんけれど・・
『テキストファイルの3行目と1028行だけを取り出して、それぞれをF列とK列に行列入換えて転記したい』ってことでしょうか?
>何か方法が思い付く方がいましたら~
VBAとのご質問なので、
◇方法1
1)テキストファイルをカンマ区切りとしてエクセルで開く
2)3行目と1028行目を、F列、K列に転記
3)テキストファイルを閉じる(保存せずに)
◇方法2
1)テキストファイルをシークエンシャルファイルとして開く
2)3行目と1028行目を、F列、K列に転記(不要な部分は読み飛ばす)
3)ファイルを閉じる
あたりが、一般的な方法かと思います。
No.2
- 回答日時:
こんにちは。
データの大きさが決まっているなら、Excelに書き出す配列を用意して、
テキストファイルを1行ずつ読み込んで、カウンタを使って、
Select Caseで Case 3 To 1026,1028 To 2051 などを記載。
もう1つセルの行のカウンタを用意して、Splitで、配列に1つずつ入れて
いくでしょうかね?
最後に、配列からセルへ一気に書き込むのが良いのでは?と思います。
https://jizilog.com/vba-lininputtext
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロを教えてください。 7 2023/06/01 19:47
- その他(Microsoft Office) 横1行のデータを3つずつ3列に変換したい(マクロ初心者) 4 2021/12/17 15:03
- Visual Basic(VBA) Excel VBAでフォルダ内の全テキストファイルの任意データを取得について 7 2021/12/18 16:00
- Visual Basic(VBA) VBA: HTTPでのスクレイピング 2 2021/12/28 21:14
- その他(Microsoft Office) スプレッドシート複数行と列に分割方法について 1 2021/12/04 21:32
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Access(アクセス) ACCESSで、リストボックスに表示する値をテキストボックスの値により変化させる 1 2021/12/10 16:25
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Access(アクセス) accessでexcelデータを一部変換してインポートするVBAコードを教えてください。 2 2021/12/14 08:31
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 3 2022/06/12 11:17
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
配列でデータが入っている要素...
-
VBA 空白セルを削除ではない方...
-
エクセルで2つの時系列のデー...
-
VisualBasicでデータ検索プログ...
-
多量のSUMIF式を軽くしたい
-
win7でvbsファイルが実行できない
-
ACCESS VBA インデックスが有効...
-
Web画面を遷移してもデータを保...
-
この行は既に別のテーブルに属...
-
VBAで「"」[']をエスケープする...
-
<VB>String→Object
-
メモ帳(テキストデータ)をExc...
-
Matlab:plotで特定の値だけをプ...
-
S9タイプからXタイプにデータ...
-
C言語の度数分布の問題
-
C#にてDropDownListの値を動的...
-
CString型の文字列連結について
-
パースとはなんですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
VBA 空白セルを削除ではない方...
-
多量のSUMIF式を軽くしたい
-
この行は既に別のテーブルに属...
-
S9タイプからXタイプにデータ...
-
Excelのマクロでワードのテキス...
-
エクセルで2つの時系列のデー...
-
Accessで該当データにフラグを...
-
ユーザーフォームのテキストボ...
-
シーケンサにパソコンからアク...
-
EXCELVBAでSQLserverからデータ...
-
[C言語] コメント文字列を無視...
-
VBAを使ってOutlookメール本文...
-
プログラミング python pandas ...
-
VBA 毎日取得するデータを順番...
-
<VB>String→Object
-
カンマからスラッシュに
おすすめ情報