2016-06-30 2 views
-2

ループするテーブルがあります。アクティブなセルに1が含まれている場合は、表の外のセルに列見出しが戻され、コンマ区切りのリストに入れられます。テーブルの各セルをループする

私はそのループがセルごとに最初の行のセルを越えて進み、各TRUEリターンでビルドするコンマ区切りのリストを探しています。

ループが行の最後にヒットしたら、次の行にドロップして同じプロセスを続行する必要があります(ただし、行2でtrueを返したものはコンマ区切りリストを作成します)。

+2

書き込み。いくつかのコードが書かれていて、特定の問題がある場合、人々はあなたをここで助けてくれるでしょう。 –

+0

アドバイスありがとうございます。病気はそれを与える –

+1

[何を試しましたか](http://whathaveyoutried.com) – Barranka

答えて

1

私はあなたを手伝ってくれます! (うまくいけば)

Dim x, y as Integer 
x = 1 
y = 1 

For y = 1 To 100 
    If Worksheets("Sheet1").Cells(y, x) = "1" Then 
     If Worksheets("Sheet2").Cells(1, 1) = "" Then 
     Worksheets("Sheet2").Cells(1, 1) = Worksheets("Sheet2").Cells(1, 1) & x & "/" & y 
     Else 
     Worksheets("Sheet2").Cells(1, 1) = Worksheets("Sheet2").Cells(1, 1) & ", " & x & "/" & y 
     End If 
    End If 
    If y = 100 And x < 100 Then 
     y = 1 
     x = x + 1 
    End If 
Next y 

あなたはVBAに慣れていたので、私は"Sheet(n)"あなたは(英語、ドイツ語、スペイン語)を使用してExcelを使用している言語に依存していることを教えてくれます。あなたが望むものが欲しいと願っています。 :)

あなたの最近のコメントをもとに次のコード:あなたは、これまで、あなたが持っているものを私たちを見ることができるもの

Dim y, x as Integer 
Dim aString as String 

y = 2 
x = 1 

For y = 2 To 100 
    If Worksheets("Sheet1").Cells(y, x) = "1" Then 
     aString = Worksheets("Sheet2").Cells(1, x) 
     If Worksheets("Sheet2").Cells(1, 1) = "" Then 
      Worksheets("Sheet2").Cells(1, 1) = _ 
      Worksheets("Sheet2").Cells(1, 1) & aString 
     Else 
      Worksheets("Sheet2").Cells(1, 1) = _ 
      Worksheets("Sheet2").Cells(1, 1) & ", " & aString 
     End If 
    End If 
    If y = 100 And x <> 100 Then 
     y = 2 
     x = x + 1 
    End If 
Next y 
+0

本当にありがとうございました。残念ながら私はこれを私のシートに差し込むと "Run0timeエラー '438'が残っています:オブジェクトはこのプロパティまたはメソッドをサポートしていません" –

+0

エラーが表示されるのはどのラインですか? –

+0

それは見つからなかった。私の悪い!また、このコードは最初の100x100セルをループするだけです。もっと多くの値を変更したいのであれば(100の代わりに1000 ..) –

関連する問題