|
发表于 2013-6-11 18:53
|
显示全部楼层
本楼为最佳答案
- Private Sub CommandButton1_Click()
- Dim arr, arrTemp()
- Dim i As Long, j As Long
- Dim lLastRow As Long
-
- arr = CheckInput
- If Not IsArray(arr) Then Exit Sub
- Application.ScreenUpdating = False
- Application.DisplayAlerts = False
- Application.EnableEvents = False
- Columns("d:e").ClearContents
- Range("d2").Resize(, 2) = Array("试室号", "座位号")
-
- For i = 1 To UBound(arr)
- If Len(arr(i, 1)) Then
- lLastRow = Cells(Rows.Count, "d").End(xlUp).Row + 1
- ReDim arrTemp(1 To arr(i, 2), 1 To 2)
- For j = 1 To arr(i, 2)
- arrTemp(j, 1) = Format(Val(arr(i, 1)), "'00")
- arrTemp(j, 2) = Format(j, "'00")
- Next
- Cells(lLastRow, "d").Resize(arr(i, 2), 2).Value = arrTemp
- End If
- Next
- Application.ScreenUpdating = True
- Application.DisplayAlerts = True
- Application.EnableEvents = True
- End Sub
- Private Sub CommandButton3_Click()
- End
- End Sub
- Function CheckInput()
- Dim objControl As Control
- Dim str$
- Dim strTemp
- Dim arr(), i As Byte
- ReDim arr(1 To 30, 1 To 2)
- For Each objControl In Me.Controls
- If TypeName(objControl) Like "CheckBox" Then
- With objControl
- If .Value Then
- strTemp = Me.Controls(Replace(.Name, "CheckBox", "TextBox")).Text
- If Not IsNumeric(strTemp) Or strTemp Like "*[.-]*" Then
- str = str & .Name & " 后面的文本框输入的是整数值" & vbCrLf
- Else
- i = i + 1
- arr(i, 1) = Mid(.Name, 9)
- arr(i, 2) = Val(strTemp)
- End If
- End If
- End With
- End If
- Next
- CheckInput = Not Len(str) > 0
- If Not CheckInput Then
- MsgBox str
- Else
- CheckInput = arr
- End If
- End Function
复制代码 |
评分
-
查看全部评分
|