0

VB.NETを使用して以下を行う方法、1.Excelシートの列にチェックボックステキストを書き込む2.新しいユーザーエントリのチェックボックスをクリアする3.新しいユーザーエントリを次の列に書き込む

次のコードを試しましたが、最初の列を書き込んだ後、プログラムがハングします。例外は表示されません。それの何が問題なのですか?

Dim xl As New Excel.Application
Dim wb As Excel.Workbook
Dim st As Excel.Worksheet

wb = xl.Workbooks.Open("F:\open.xlsx")
st = wb.Worksheets(1)
Dim j As Integer

For j = 0 To 2
While j

If CheckBox1.Checked Then
st.Cells(1, j + 1).value = "1"
Else : st.Cells(1, j + 1).value = "N/A"
End If

If CheckBox2.Checked Then
st.Cells(2, j + 1).value = "1"
Else : st.Cells(2, j + 1).value = "N/A"
End If

If CheckBox3.Checked Then
st.Cells(3, j + 1).value = "1"
Else : st.Cells(3, j + 1).value = "N/A"
End If

CheckBox1.Checked() = False
CheckBox2.Checked() = False
CheckBox3.Checked() = False
ComboBox1.ResetText()

End While
Next

wb.Save()
xl.Quit()
xl = Nothing
wb = Nothing
st = Nothing

助けていただければ幸いです。過去 2 時間、これを行うことができません。希望の結果シートを添付

ありがとう

ここに画像の説明を入力

4

1 に答える 1

1

あなたは決して終わらないループを書きました。

これらの行を見てください:

For j = 0 To 2
While j
'Other code
End While
Next

j = 0の場合、コードはwhileをスキップする必要がありますが、j = 1になると、whileループが無期限に繰り返されます。while j削除してEnd while、期待どおりに機能するかどうかを確認することをお勧めします。

于 2012-07-25T03:42:43.107 に答える