どなたかご教授ください。
一方のエクセル(test_report_kw.xlsm)の中にあるテキストから
もう一方のエクセル(test_search_kw.xlsx)に指定する文字があるかを確認し
その結果をエクセルに吐き出すプログラムを作成しています。
その際、文字検索結果(含まれる場合:1、含まれない場合:0)を作成した
配列flgを作成し、エクセルに吐き出すようにしているのですが
吐き出した結果が全て0出力になっており困っております。
ウォッチ式で確認する限り、配列内では正常に処理されており
出力段階に何か問題があるようです。
どなたかご教授くださいますと幸いです。
Dim report_kw() As Variant
Dim search_kw() As Variant
Dim flg() As Integer
Workbooks("test_report_kw.xlsm").Worksheets("report_sum").Activate
LastCell_Row_Report_kw = ActiveSheet.Cells.SpecialCells(xlLastCell).Row
ReDim report_kw(LastCell_Row_Report_kw, 1)
report_kw = Range(Cells(2, 1), Cells(LastCell_Row_Report_kw, 1))
Workbooks("test_search_kw.xlsx").Worksheets("Sheet1").Activate
LastCell_Row_search_kw = ActiveSheet.Cells.SpecialCells(xlLastCell).Row
ReDim search_kw(LastCell_Row_search_kw, 1)
ReDim flg(LastCell_Row_Report_kw - 1)
search_kw = Range(Cells(2, 2), Cells(LastCell_Row_search_kw, 2))
For i = 1 To LastCell_Row_Report_kw - 1
'初期化
flg(i) = 0
For l = 1 To LastCell_Row_search_kw - 1
If InStr(report_kw(i, 1), search_kw(l, 1)) > 0 Then flg(i) = flg(i) + 1
Next
Next
Workbooks("test_report_kw.xlsm").Worksheets("report_sum").Activate
Range("e1").Value = "FLG"
Range("e2").Resize(LastCell_Row_Report_kw - 1, 1).Value = flg
No.2ベストアンサー
- 回答日時:
1次元配列を縦に出力しているからです。
横に出力すれば正しく表示されます。
例えば、
Range("e2").Resize(1, UBound(flg) + 1).Value = flg
のように。
どうしても縦に出力したいのであれば、2次元配列にしましょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで実行時エラー'424' オブジェクトが必要ですと出る 2 2022/10/07 09:25
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) Sheet1をフィルターで「りんご」を抽出し、Sheet2へ地域を貼り付ける下記マクロを変更して S 2 2022/12/11 03:01
- Visual Basic(VBA) vbaを早くしたい 5 2022/09/09 10:58
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) VBA初心者です。 2 2022/10/10 11:52
- 環境・エネルギー資源 電力会社のCO2係数の計算根拠が、いまいち理解できなかったので、ここに質問させていただきます。 1次 1 2022/10/04 13:05
- Visual Basic(VBA) vba 重複データ合算 5 2023/07/05 18:55
- 化学 すいません。苦手な誘導機おしえてください。 問題は、4極,1000(kW),3300(V),60(H 2 2023/04/07 19:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列数式の解除
-
エクセルで最小値から0を除く方法
-
えfor文とか使っちゃう時点で時...
-
ArrayListの初期値に二次元配列...
-
VBA 1次元配列を2次元に追加する
-
VBAで配列をまるごとコピー
-
for each の現在の配列ポインタ...
-
順列の作成
-
excel2010 VBAの修正をご指導い...
-
VBA:配列の中で文字列が何番目...
-
配列変数の添字が範囲外ですと...
-
Excel2003 条件付き中央値
-
VB6.0の配列に使用する「=」の意味
-
2つ以上の変数を比較して最大数...
-
《エクセル2000》A列・B列の商...
-
FORTRANのCOMMON文
-
Excel-VBAの配列「Public Const...
-
fortranのwrite文について
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列数式の解除
-
2つ以上の変数を比較して最大数...
-
VBA 1次元配列を2次元に追加する
-
特定のセル範囲で4文字以上入力...
-
subの配列引数をoptionalで使う...
-
ListViewで、非表示列って作れ...
-
for each の現在の配列ポインタ...
-
配列変数の添字が範囲外ですと...
-
VBのFunctionで、配列を引数...
-
VB6 配列を初期化したい
-
2次元動的配列の第一引数のみを...
-
Excel-VBAの配列「Public Const...
-
配列内の内容を全て表示する方法
-
Dim は何の略ですか?
-
配列を任意の数値で埋める方法
-
VLOOKUP関数で、一番下...
-
アルゴリズム、配列のフローチ...
-
verilogで配列の任意の8bitを取...
-
えfor文とか使っちゃう時点で時...
-
VBA Match関数の限界
おすすめ情報