この質問は何度も聞かれるようですが、いくつか問題があります。タスクには、各セルの区切り文字(区切り文字はスペース ""です)に列のいくつかのセルが与えられ(列Aといいます)、得られたすべての単語を別の列に印刷します(C列)。ここで列内のテキストを単語に分割して別の列に印刷する
Sub splitting()
Dim tmp As Collection
Dim i As Integer, j As Integer
For i = 0 To 3
tmp.Add split(Cells(i + 1, 1).Value, " ")
Next i
For j = 0 To tmp.Count
Cells(j + 1, 3).Value = tmp(j)
Next j
End Sub
が、私は動的再配置する能力を持っている(ループ内で新しいアイテムを毎回追加)する代わりに、配列のコレクションを使用します。
は、いくつかの答えを読んだ後、私は次のコードを書きました。また、テキストはテストするために最初の4行にしかないと仮定します。それは私にエラーを与えるファイル名を指定して実行時エラー「91」:変数またはWithブロック変数が私が間違っているのは何
に設定されていないオブジェクト、私はそれをどのように行う必要があります適切な方法?
あなたは 'Set tmp = new collection'を忘れたのでしょうか? – CommonSense
どの行にエラーが表示される – jsotola
とにかく、2番目のループでは、配列に単一セルの値を渡そうとしています。あなたはここで何を期待していますか?配列を二重セル範囲に渡す必要があります。最初に配列を転置して垂直次元に収まるようにする必要があります。 – CommonSense