2017-02-28 2 views
-4

私は1つのポイントに属するエントリをフィルタリングしたい大きなデータテーブルを持っています。 私はすべてのポイントが混在する列を持っています。 私の質問は、列内のすべての一意の値を検索し、一意の値の後に名前が付けられたワークシートを作成するマクロを作成する方法です。列内のそれぞれの一意の値からワークシートを作成するVBAコードを記述する方法は?

私は、各サイクルのために試みたが、それを動作させることはできません。

+0

一意の値を見つけるために、**辞書**を使用してください。それとも別の列にこの列をコピーして、Excelのを使用し 'Duplicates'機能を削除し –

+0

編集:私たちはあなたが範囲を指定したり、単純にループを聞かせすることができますいずれか –

+3

はあなたのコードの試みを追加します。データセットの最後に到達すると終了します。列内のすべてのセルの値が –

答えて

1
Sub test() 
Dim dict As Object 
Dim ws As Worksheet 
Dim c As Range 
Dim varLoop As Variant 

'Create Your Dictionary. This Will Stop Duplicate Values 
Set dict = CreateObject("Scripting.Dictionary") 

'Loop Cells In Column A - Change To Your Column 
For Each c In Range("A:A") 
    'Exit When We Get To The End Of The Dataset 
    If Len(c) = 0 Then Exit For 
    'Add This Value To The Dictionary 
    If Not dict.exists(c) Then dict.Add c, "" 
Next c 

'Now The Dictionary Is Populated, Loop The Values We Stored 
For Each varLoop In dict 
    'Add A New Worksheet 
    Set ws = Worksheets.Add 
    'Name The Worksheet The Value We Got From Column A Earlier 
    ws.Name = varLoop 
Next varLoop 

End Sub 
+0

@ASHを見てのために*タイトルで書き込み... –

+0

の場合は、列内のすべてのセルを反復処理します。ああ、終了するテストは表示されませんでした。私の悪い。 –

+1

実行可能ではあるが、私は悪い質問を可能にしているので、単に投票するように誘惑される。 OPは彼が試みたものを投稿することさえなかった。 – FreeMan

関連する問題