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 jEnd while查看它是否按预期工作。

于 2012-07-25T03:42:43.107 回答