将数据写入Excel工作表(VB.NET)中的下一列(此代码有什么问题?)

时间:2012-07-25 02:20:00

标签: vb.net excel loops

如何使用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小时无法做到这一点。所需的结果表随附于此

由于

enter image description here

1 个答案:

答案 0 :(得分:1)

你写了一个永无止境的循环。

看看以下几行:

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

当j = 0时,你的代码应该跳过一段时间,但是一旦j = 1,它将无限期地重复while循环。我建议删除while jEnd while,看看它是否按预期工作。