返回列表 上一主題 發帖

請教一個用EXCEL按鈕填表的問題

請教一個用EXCEL按鈕填表的問題

本帖最後由 tku0216 於 2012-4-24 17:56 編輯

各位大大好,請教一個用EXCEL按鈕填表的問題:
如附圖所示,我要按鈕之後,將某些資訊填入EXCEL表格(按鈕跟資訊都已設計好),
每按一下鈕,資料就會依序填入表格,但問題是,題號2-20題以後的程式該怎麼寫呢?

補上檔案連結,請參考,謝謝。
-----------------------------
http://db.tt/ipPHXMVM
--------------------------------
程式為 :
With Range("i23").End(xlUp)     '從i23開始往上判斷
    .Offset(1, 0) = Range("g24") '將g24的資料填入i23
    .Offset(1, 1) = Range("f6")     '將f6的資料填入j3
    End With

繪圖1.jpg (141.62 KB)

繪圖1.jpg

感謝回覆,其實這是一個讓老師知道自己命題情形的表格,所以是一次只會填入一題沒錯。
本意是當老師選擇屬性、技能規範與難易度之後,按下按鈕會自動填入,減省手動填寫時間。
但目前此表只能依序往下填寫,您的程式碼我加進按鈕,發現無法運作,可以請教原因嗎?謝謝。
---------------------------------------------
Private Sub CommandButton1_Click()
Set Rng = [I22]
C = Application.CountA([I22], [N22], [S22], [X22], [AC22], [AH22])
With Rng.Offset(0, C * 5).End(xlUp)
  .Offset(1, 0) = [G24]
  .Offset(1, 1) = [F6]
End With
End Sub
--------------------------------------------

TOP

多謝register的指教,程式運作正常,因為昨天是在家裡試,不曉得出了甚麼問題。
還有想請教您的程式碼,這三行的意思,謝謝:
--------------------------------------------
Set Rng = [I22]
C = Application.CountA([I22], [N22], [S22], [X22], [AC22], [AH22])
With Rng.Offset(0, C * 5).End(xlUp)
--------------------------------------------

TOP

多謝大大分享,我完全瞭解程式了。
想再請教附帶的小問題:
1.Set Rng = [I22]  '代表設定儲存格I22為基準,以利後續的欄位轉換。
換成“Set Rng = Range("i22")”的意義是否一樣?(試過程式一樣可以正確工作)

2.需要呼叫excel函式時,是否都是以Application開頭?

TOP

Hsieh大大,不好意思,有點難懂,可否提供註解?
我只看得懂:
第五行:計算非零儲存格,k=0。
第六行:x=iif(1 mod 20=0, 20,1), 所以x=1。
第七行:y=Int((-1) / 20) + 1 + IIf(x = 1, 1, 0)??
之後就看不懂了...

TOP

        靜思自在 : 時時好心就是時時好日。
返回列表 上一主題