![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
お世話になります。
VB6で、データ処理を行いたいと思っています。データを読み込んで、列ごとに配列へ格納することを考えています。
しかし、データによって列の数が異なっており、行き詰ってしまいました。
最初は3列のデータだったので、単に
Input #(ファイル番号), A(i), B(i), C(i)
としたのですが、後になって6列やら、8列のデータが出てきて、通用しなくなりました。
そこで、LineInputで1行ごとに読み込み、Splitを使って値を列ごとに配列へ格納しようと考えました。
しかし、データを見ると値を区切っている空白は複数(3~8程度)で、
うまくSplitできませんでした。
以前にも、VB.NETの場合での似たような質問がされていましたが、VB6ではどのようにしたらよいのでしょうか。
当方初心者なのでお恥ずかしい質問ですが、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
複数スペースでも配列にセットする関数を作ってみました。
十分動作確認したわけではないので、参考程度としてください。
Private Sub CommandButton1_Click()
Dim strSrc As String
Dim strDst() As String
strSrc = "ABC DEF GHI JKLMN"
strDst = split2(strSrc, " ")
End Sub
Private Function split2(ByVal strSrc As String, ByVal strDelimiter As String) As String()
Dim iTop As Integer
Dim iEnd As Integer
Dim iIndex As Integer
Dim strDst() As String
iIndex = 0
iTop = 1
Do
iEnd = InStr(iTop, strSrc, strDelimiter)
ReDim Preserve strDst(iIndex)
If iEnd = 0 Then
strDst(iIndex) = Mid(strSrc, iTop)
Else
strDst(iIndex) = Mid(strSrc, iTop, iEnd - iTop)
iIndex = iIndex + 1
iTop = iEnd + 1
Do While Mid(strSrc, iTop, 1) = strDelimiter
iTop = iTop + 1
Loop
End If
Loop While iEnd <> 0
split2 = strDst
End Function
回答、ありがとうございました。
完璧でした。質問して良かったです。
こんな方法があるなんて思いもしませんでした。とても勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby 初心者プログラミング 3 2022/10/12 11:31
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- Visual Basic(VBA) セルが空白だった時の処理 5 2022/09/01 07:07
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- Excel(エクセル) Excelで、別シートの表のステータスに伴った動的な自動転記をしたいです。 2 2023/06/14 15:56
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Visual Basic(VBA) VBAで大量データの処理 3 2022/11/15 21:53
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける (再質問) 4 2022/09/14 22:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
表にフィルターをかけ、絞った...
-
[エクセル]連続する指定範囲か...
-
For Nextマクロの高速化につい...
-
Excelのセルの色指定をVBAから...
-
【C#】二次元配列へのcsvファイ...
-
読み込みで一行おきに配列に格納
-
VBAで指定期間の範囲を抽出し、...
-
ノーツのデータをVBScriptで取...
-
VBA listBoxについて
-
[VBA]改行入りのセルの値を配列...
-
.NET - 配列変数を省略可能の引...
-
array関数で格納した配列の型を...
-
配列の受け渡しについて
-
VB6・Split関数・連続した空白...
-
ExcelのINDEXとMATCH関数でスピ...
-
16進数から2進数へ
-
Excel VBA 配列の分割について
-
配列のSession格納、及び取得方...
-
VBA 配列に格納した値の平均の...
-
この二つの問題を教えて欲しい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelのセルの色指定をVBAから...
-
ExcelのINDEXとMATCH関数でスピ...
-
[エクセル]連続する指定範囲か...
-
array関数で格納した配列の型を...
-
表にフィルターをかけ、絞った...
-
エクセルで、絶対値の平均を算...
-
配列がとびとびである場合の書き方
-
[VBA]改行入りのセルの値を配列...
-
Excel オートフィルタのリスト...
-
DataSetから、DataTableを取得...
-
iniファイルのキーと値を取得す...
-
配列のSession格納、及び取得方...
-
エクセルでエラーを無視して一...
-
エクセル 条件を指定した標準...
-
Dictionaryを使い4つの条件の一...
-
読み込みで一行おきに配列に格納
-
.NET - 配列変数を省略可能の引...
-
For Nextマクロの高速化につい...
-
SUMPRODUCT関数を用いた最小値
-
VB6.0 ファイルの一括読込み
おすすめ情報