各位先進大家好!
非常感謝大家的協助。小弟尚有第二個問題想要請教。問題如下:
1.第一個工作表是設定欄、第二個工作表是登記成績欄如果在設定欄填入年段、班級、人數。例如 3年6班15人、成績欄位就會出現30601~30615的15個欄位
我試了一段時間。數字上只能出現1、無法出現01,目前我已想出如下的語法,但是無法執行,請大家解惑一下,真是感激:
Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$b$3" Then
Dim i As Integer
For i = 1 To Target.Value
Worksheets("sheet2").Cells(i + 2, "a") = i
Next Target.Value
End If
End Sub作者: white945 時間: 2012-8-17 00:07
感謝white945大大的回覆,但是有一個小問題,因為[B1:B3]是先填B1所以會出現陣列超出索引範圍的錯誤訊息,我猜可能是因為B3還沒填數字 ReDim ar(1 To [B3])
另外還有
承蒙大家的幫助,我把前面兩位好心人的語法加以修改後,變成下列兩式但是再把它們放在第一個工作表的時候卻會出現問題,想請問論壇的大大,問題是出在哪裡,感謝指教!
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$J$3" Then
If Sheet2.Range("A1048576").EntireRow.Hidden Then
Sheet2.Cells.EntireRow.Hidden = False
Sheet2.Cells.EntireColumn.Hidden = False
End If
Sheet2.Range(Sheet2.Range("A" & Target.Value + 3), Sheet2.Range("A3").End(xlDown)).EntireRow.Hidden = True
Sheet2.Range(Sheet2.Range("W1"), Sheet2.Range("W1").End(xlToRight)).EntireColumn.Hidden = True
End If
End Sub
Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [J1:J3]) Is Nothing Then Exit Sub
ReDim ar(1 To [J3])
YC = [J1] & Format([J2], "00")
For i = 1 To [J3]
ar(i) = YC & Format(i, "00")
Next
Sheets(2).[A:A] = ""
Sheets(2).[A3].Resize([J3], 1) = Application.Transpose(ar)
End Sub作者: white945 時間: 2012-8-17 19:40