2011-08-07 17 views
1

リストから項目をExcelシートの一部の行に追加しようとしています。 は、私は、このようにそれを実行しようとしました:リスト内の項目をシート内のセルに追加する方法

Dim Rand As Long 
Dim ws As Worksheet 
Set ws = Worksheets("Necmontage") 
Rand = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row 

Range(ws.Cells(Rand, 1), ws.Cells(Rand + necesar.ListCount - 1, 1)).Merge 
ws.Cells(Rand, 1) = "K" 

Range(ws.Cells(Rand, 2), ws.Cells(Rand + necesar.ListCount - 1, 2)).Merge 
ws.Cells(Rand, 2) = "Montage" 

Range(ws.Cells(Rand, 3), ws.Cells(Rand + necesar.ListCount - 1, 3)).Merge 
ws.Cells(Rand, 3) = comanda.Caption 

Dim i As Integer 
i = 0 
Do While i = necesar.ListCount - 1 
    ws.Cells(Rand + i, 4) = necesar.List(i, 0) 
    i = i + 1 
Loop 
End Sub 

それは(私はWhileループがあることを行う)リストから値を除いて、私がしたいすべての値を追加します。私は理由を知らないが、それは価値を取らない。この問題の考え方は?あなたは、あなたのコード内で

答えて

2

をもしかして:

Do While i <= necesar.ListCount - 1 'instead of = 
    ws.Cells(Rand + i, 4) = necesar.List(i, 0) 
    i = i + 1 
Loop 

あなたはそれが欲しかったところプログラムが行けばところで、あなたはDo While行にブレークポイントを置くことによって、デバッグモードで見ることができます。

+0

はい、ありがとうございました...私はForを使ってWhileを変更しました。問題は何かを知りませんでした...まあ、それは私にエラーを与えなかったので、私はデバッグモードを使用しませんでした。 –

+0

それは最終的にうれしかった。デバッグモードは、エラーが発生しなくても(実際には期待される結果が得られなくても)、vbaでは(特にvbaでは、ステップバイステップで変数値を取得または設定すると便利です。 – JMax

関連する問題