2017-06-29 16 views
0

もっと複雑なマクロについては、私は書いていますが、情報の行を解析しようとしています。その行のセルのうち2つに複数の値が含まれている場合があります。そのような場合には、それらを対応する値に一致させたいと思います。セル内の複数の値を複数の値を持つ別のセルに一致させる

例:行の1つのセルに「1 2 3」が書き込まれ、もう一方の「10 5 15」に「10」、「2」に「1」、 「5」、「3」、「15」である。私が集めたものから、スプリット()関数はスペースを区切り文字とし、使用するはずのものですが、VBA構文に関する多くの経験はなく、誰かが私に説明したり表示することができれば大いに感謝しますそのコンテキストでSplit()を使用する方法、またはこの問題の別の解決策の方向を指摘してください。

ご協力いただきましてありがとうございます。そのためのパラメータが用意されていないので、

+2

スタックオーバーフローは、「このコードを記述する/使用する方法」ではなく、「コードを表示してデバッグするのに役立ちます」というサイトの詳細です。 Googleは方法を理解するための親友です。いくつかのコードがある場合は、それがひどいもので作業していなくても、他の人が何が間違っているのかを指摘できるようにしてください。 – AlienHoboken

+1

これも私が思ったことです..最後に私のコードを書き留めたとき、私は「あなたに何が間違っているかを伝えるためにあなたのコードを調べるつもりはありません」と言われました。このサイトの目的と一貫していること。私はすぐに私のコードを追加します –

答えて

0

サンプルコードは、Excelのセルから値を読み込み、それらを分割し、ここでの分割は、別の分割パラメータがある場合、それはと

Split(Sheets("Sheet1").Cells(1, 1), ":") 

のサンプルコードのようになります、スペースに基づいていますスペースで分割します。後でループを使用して値をイテレーターと比較してください。

Dim Value1() As String 
Dim Value2() As String 
Function comparecells() 

    Value1 = Split(Sheets("Sheet1").Cells(1, 1)) 
    Debug.Print Value1(0) 
    Debug.Print Value1(1) 
    Debug.Print Value1(2) 
    Value2 = Split(Sheets("Sheet1").Cells(1, 2)) 
    Debug.Print Value2(0) 
    Debug.Print Value2(1) 
    Debug.Print Value2(2)  

End Function 
+0

あなたは分割がスペースに基づいているので、そのためのパラメータが提供されていないと言うとき、そのスペースはsplit()関数のデフォルトパラメータですか? –

+0

はい、分割パラメータを指定しないと、スペースはデフォルトのものとみなされます。 –

関連する問題