- 帖子
- 522
- 主題
- 36
- 精華
- 1
- 積分
- 603
- 點名
- 0
- 作業系統
- win xp sp3
- 軟體版本
- Office 2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-12-13
- 最後登錄
- 2021-7-11
|
- 'Sheets("可排課時段")
-
- Private Sub CommandButton1_Click()
- Dim x, y As Object
- Dim obj As OLEObject
- Dim c終點, r終點, i, j, k As Integer
- Dim tf As Boolean
- Set x = Sheets("可排課時段")
- Set y = Sheets("大課表")
-
- x.Range("B50:R100").ClearContents
- r終點 = x.[A4].End(xlDown).Row
- c終點 = x.[B4].End(xlToRight).Column
- For C = 2 To c終點
- k = 49
- For r = 4 To r終點
- If x.Cells(r, C) Then
- k = k + 1
- x.Cells(k, C) = x.Cells(r, 1)
- End If
- Next
- Next
-
- j = 2
- For Each obj In y.OLEObjects
- If TypeOf obj.Object Is MSForms.ComboBox Then
- obj.Object.Clear
- c1 = x.Cells(49, j).End(xlDown).Row
- For i = 50 To c1
- obj.Object.AddItem x.Cells(i, j)
- Next
- j = j + 1
- If j > j1 Then Exit Sub
- End If
- Next
- End Sub
複製代碼 圖:可排課時段(執行結果)
 - 'Sheets("大課表")
- Private Sub ComboBox1_Change()
- Dim x, y As Object
- Set x = Sheets("大課表")
- Set y = Sheets("可排課時段")
-
- c1 = 3
- c2 = 22
- If ActiveCell.Column < r1 Or ActiveCell.Column > r2 Then Exit Sub
-
- r1 = 5
- r2 = 10
- If ActiveCell.Row < c1 Or ActiveCell.Row > c2 Then Exit Sub
-
- ActiveCell = ComboBox1.Text
- End Sub
- Private Sub ComboBox2_Change()
- Dim x, y As Object
- Set x = Sheets("大課表")
- Set y = Sheets("可排課時段")
-
- c1 = 23
- c2 = 38
- If ActiveCell.Column < r1 Or ActiveCell.Column > r2 Then Exit Sub
-
- r1 = 5
- r2 = 10
- If ActiveCell.Row < c1 Or ActiveCell.Row > c2 Then Exit Sub
-
- ActiveCell = ComboBox2.Text
- End Sub
- '以下請自行複製, 自行改
複製代碼 圖:大課表(執行結果)
 |
|