![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
お世話になります。
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ランキング
-
エクセルで、絶対値の平均を算...
-
表にフィルターをかけ、絞った...
-
array関数で格納した配列の型を...
-
iniファイルのキーと値を取得す...
-
[エクセル]連続する指定範囲か...
-
[VBA]改行入りのセルの値を配列...
-
読み込みで一行おきに配列に格納
-
Excelのセルの色指定をVBAから...
-
16進数から2進数へ
-
VBA-読み込んだテキストフ...
-
配列がとびとびである場合の書き方
-
Sessionに格納した二次元配列を...
-
スプレットシートのGetTextにつ...
-
仮想リストコントロールの表示
-
ショッピングカートの合計金額...
-
For Nextマクロの高速化につい...
-
ExcelのINDEXとMATCH関数でスピ...
-
VBAでの100万行以上のデータの...
-
エクセルVBA コンボボックスの...
-
Excel VBA 重複値を排除するには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのINDEXとMATCH関数でスピ...
-
array関数で格納した配列の型を...
-
Excelのセルの色指定をVBAから...
-
[エクセル]連続する指定範囲か...
-
エクセルで、絶対値の平均を算...
-
VBA listBoxについて
-
表にフィルターをかけ、絞った...
-
VBA 配列に格納した値の平均の...
-
iniファイルのキーと値を取得す...
-
[VBA]改行入りのセルの値を配列...
-
配列がとびとびである場合の書き方
-
エクセルでエラーを無視して一...
-
DataSetから、DataTableを取得...
-
Excel オートフィルタのリスト...
-
Split関数でLong配列に格納する...
-
読み込みで一行おきに配列に格納
-
VB6.0 ファイルの一括読込み
-
SUMPRODUCT関数を用いた最小値
-
INDEX(D:D,L3)の意味は?
-
Dictionaryを使い4つの条件の一...
おすすめ情報