A 回答 (7件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
あれ?
既に解決済みかと思ってました。
Dictionaryでジャグ配列的な物。
行・列のインデックスは0から始まります。
なのでこの場合は、
(0)(0) (0)(1) (0)(2)
(1)(0) (1)(1) (1)(2)
(2)(0) (2)(1) (2)(2)
となります。
Sub megu()
Dim myDic As Object
Dim buf As String, myPath As String
Dim n As Integer
Set myDic = CreateObject("Scripting.Dictionary")
n = 0
'テキストファイルはBookと同じフォルダにあるとして
myPath = ThisWorkbook.Path
Open myPath & "\xyz.txt" For Input As #1
Do Until EOF(1)
Line Input #1, buf
myDic.Add n, Split(buf, vbTab)
n = n + 1
Loop
Close #1
Debug.Print myDic(0)(0), "|", myDic(1)(1), "|", myDic(2)(2)
Set myDic = Nothing
End Sub
出力例:
111 | BBB | ううう
No.5
- 回答日時:
No.2です。
個人的ですがExcelならSheetを前提としますが他のアプリならそうではないでしょうから、私ならDictionaryオブジェクトでキーをナンバーリング、アイテムを1次元配列にしたジャグ配列にしますかね。
そうすると後からある行を追加・削除も行数がわかっていれば簡単ですし、不明でも検索させるのは可能でしょうから。
とスマホだとここまでで精一杯。
No.4
- 回答日時:
こんにちは
◇まともにやるなら、テキストとして1行ずつ読み込み、tabを区切りとして分解するという手順になると思います。
・テキストファイルをopenして読み込む
http://officetanaka.net/excel/vba/file/file08b.htm
・区切り文字で文字列を分解(1次元配列になります)
https://docs.microsoft.com/ja-jp/office/vba/lang …
◇別法として、tab区切りのファイルとしてシートに読み込み、値のある範囲をまとめて配列に読み込むという方法も考えられます。
(多分、こちらの方法の方が簡単かと思います)
・テキストファイルをブックとして開く
https://docs.microsoft.com/ja-jp/office/vba/api/ …
(tab区切りの場合は、Formatの区切りを1にします)
・値のある範囲を配列変数に読み込む
ary = Range.Value
で、二次元配列としてまとめて取得できます。(Variantの必要があります)
https://docs.microsoft.com/ja-jp/office/vba/api/ …
対象とするRangeには、UsedRangeを利用すれば良いでしょう。
https://docs.microsoft.com/ja-jp/office/vba/api/ …
No.2
- 回答日時:
どういう配列(1次元・2次元・ジャグなど)にしたいかで変わりそうですね。
1次元なら既出ですが、加えて先に改行コードをタブに置換する必要はあるでしょう。
2次元なら既出の方法で改行コードで区切った変数の値を1つずつ別の変数(2次元で準備した物)にタブで区切って入れていくとかかな。
スマホなので詳しくは書けずごめんなさい。
No.1
- 回答日時:
こんにちは。
タブ区切りの文字を配列に入れるには、Variant型の配列と、後はSplitで、
vbTab(VBAの予約語で、tabを意味する)を指定すれば、可能かと思います。
Dim mySplitDat As Variant
mySplitDat = Split("文字列や変数など", vbTab)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- マウス・キーボード Tabキーとテンキーが右側にあるワイヤレスキーボード を探しています。 仕事上数字を入力することが多 3 2022/09/22 21:13
- 楽器・演奏 TAB譜について 5 2023/04/18 19:52
- その他(パソコン・スマホ・電化製品) Switch スマートフォンへ送る できない 1 2023/04/01 22:57
- Access(アクセス) エクセルのマクロについて教えてください。 2 2023/02/04 14:20
- フリーソフト AutoHotKey 「Tabを押し続ける → 右クリックを押し続ける」は出来る?? 2 2023/05/05 14:36
- モニター・ディスプレイ Win11マルチディスプレイでの異なる仮想デスクトップの表示 3 2023/02/01 10:02
- タブレット lavie tab e 10fhd2タブレット機種だと思うんですがHuy for NEC LAVIE 1 2022/12/16 07:15
- Excel(エクセル) エクセルのワークシートを簡単に別ファイルにする方法は? 5 2023/01/11 14:50
- Chrome(クローム) Chromeで検索するたびにウイルス感染(?)の警告がでます。 どうすれば解決しますか? 5 2023/02/06 14:40
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
文字列からタブコードを取り除きたい
Visual Basic(VBA)
-
【VBA】テキストファイルを指定行数からの読み込み
Visual Basic(VBA)
-
マクロを使ってフォルダー内にあるtxtデータをエクセルにデータに変換する方法をご教授願います
Excel(エクセル)
-
-
4
テキストファイルの一部分を抽出する方法について
Visual Basic(VBA)
-
5
特定フォルダ内のテキストファイルの内容を全てエクセルに書き出す方法
Visual Basic(VBA)
-
6
【VBA】テキストファイルから特定の文字列を抽出して、エクセルに出力する
Excel(エクセル)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
Excel VBAで、Application.InputBoxのキャンセルと入力値ゼロを区別したい。
Visual Basic(VBA)
-
9
VBA:日付を配列に入れ別セルに転記するとデータ型が変わる
Visual Basic(VBA)
-
10
【Access2003】VBAでタブ区切りテキストファイル読込
Visual Basic(VBA)
-
11
Variant型で宣言してるのにEmptyになる
Visual Basic(VBA)
-
12
エクセルで空白セルを含む列の最終行の値を取得する式を教えてください
Excel(エクセル)
-
13
VBAで重複する項目を1つにまとめて金額を合計したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSVファイルの中で、「 , 」カ...
-
マクロを使ってフォルダー内に...
-
エクセルで数値を全角文字(カ...
-
WORDで改ページすると時々グレ...
-
EXCELからCSVにすると余計なカ...
-
海外のケータイ(GSM携帯)はハ...
-
CSVの定義
-
エクセルの関数カンマ区切りの...
-
カンマ区切りの数字をCSVフ...
-
何故、日本は未だに数字を3桁...
-
3桁ごと?4桁ごと?コンマの...
-
エクセルの区切り位置の設定方法
-
VB2005のTextBoxでカン...
-
エクセルで電話番号を取り出す...
-
エクセルの1セル内の文字列操作。
-
C#でcsvファイルの列を入れ替え...
-
SUM関数を利用すると自動的に桁...
-
エクセル:桁区切り「カンマ」...
-
電話番号の正規表現
-
【VBA】エクセルで値のみクリッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
EXCELからCSVにすると余計なカ...
-
マクロを使ってフォルダー内に...
-
カンマ区切りの数字をCSVフ...
-
CSVの定義
-
WORDで改ページすると時々グレ...
-
何故、日本は未だに数字を3桁...
-
データにカンマが入ったCSVデー...
-
3桁ごと?4桁ごと?コンマの...
-
[VBA][Excel]クリップボードか...
-
カンマ区切り
-
VBAでtxtファイルを読み込む際...
-
「カンマ」と「コンマ」は同じ...
-
メモ帳からエクセルにセル区切...
-
パス区切りの文字について
-
EXCELの文字が指数になる
-
C#で、テキストボックスの入力...
-
PHP カンマをエスケープしたい...
-
カンマ区切りでないテキストをc...
おすすめ情報
書き忘れていました。
できれば1行ごとに区別したいので
二次元配列(行、tab区切りの文字列)
みたいな形に収めれれば理想です。