返回列表 上一主題 發帖

[發問] 請教語法是哪裡出問題?

回復 17# GBKEE
抱歉又打擾了!因為最近遇到一些結解不開。所以就把語法重新整理一下,因為當初多是靠別人幫忙的,所以有些一知半解,知道版主功力深厚,特來請教一下,如有叼擾,還請見諒。就是這一句
    '期中評量自動輸入座號↓'  (這我知道)
    If Intersect(Target, [J1:J3]) Is Nothing Or [j3] = 0 Then Exit Sub  (我只知道後面:如果沒填資料或j3是0 語法就不執行,但前面不懂)
    ReDim ar(1 To [j3])    (不懂)
    YC = [j1] & Format([j2], "00")   (不懂)
    For i = 1 To [j3]   (瞭解)
    ar(i) = YC & Format(i, "00")  (不懂)
    Next   (瞭解)
    With Sheets("期中評量")    (瞭解)
    .Cells.Rows.Hidden = False  (所有儲存格不隱藏)
    .Cells.Columns.Hidden = False  (所有儲存格不隱藏)
    .[A:A] = ""  (不懂)
    .[a3].Resize([j3], 1) = Application.Transpose(ar)  (不懂)
    .Range("W1", .Cells(1, .Columns.Count)).EntireColumn.Hidden = True(w1到總計幾列都隱藏)
    .Range(.[a3].Offset([j3], 0), .Cells(Rows.Count, 1)).EntireRow.Hidden = True  (不懂)
    .Range("a1").Value = "座號"   (瞭解)
    End With   (瞭解)
    '期中評量自動輸入座號↑'  (瞭解)

TOP

回復 19# GBKEE
報告版主大人,小弟我又遇到瓶頸了,因為在個人成績單輸出方面遇到問題,總成績單已經完成,也就是說資料如下:
座號  姓    名  國語  英語  數學  自然  社會
001  某某某   90      100    85      75     90
但在次頁的個人成績單,我想輸出成為a4頁大小,每頁有8筆資料,我知道最簡單卻麻煩的方法,就是把每筆成績,利用相對應的位置,輸入到個人成績欄位,但是無法控制資料的數量,因為有幾筆成績,是由「基本設定」工作表的班級人數欄控制的,該怎麼辦呢?有沒有其他的構想呢?附上檔案以便參考!

TOP

抱歉!分享一下,我想出來的語法是這樣,結果試了也沒問題。
Sub Worksheet_Activate()
    '個人成績單標題列↓'
    Dim a, b, c, x, y
    a = Sheets("基本設定").Range("j1").Value
    b = Sheets("基本設定").Range("j2").Value
    c = Sheets("基本設定").Range("j3").Value
    d = Fix(c / 2)
    For i = 0 To d
    x = Sheets("期中評量").Range("a" & 3 + i * 2).Value
    y = Sheets("期中評量").Range("b" & 3 + i * 2).Value
    x1 = Sheets("期中評量").Range("a" & 4 + i * 2).Value
    y1 = Sheets("期中評量").Range("b" & 4 + i * 2).Value
    Sheets("期中成績單").Range("a" & 1 + 12 * i).Value = a & "年" & b & "班 期中評量 成績單" & "(" & x & ")" & y
    Sheets("期中成績單").Range("o" & 1 + 12 * i).Value = a & "年" & b & "班 期中評量 成績單" & "(" & x1 & ")" & y1
    Next i
    '個人成績單標題列↑'
End Sub

TOP

回復 22# luhpro


    恩!果然看起來舒服多了

TOP

請教一下,這算是vba的語法嗎?因為裡面有中文字?這是我從vba專案裡頭複製出來的一部份
Sub Worksheet_Deactivate()
     原年級 = Val(Cells(12, 2))
     新年級 = Val(Cells(1, 18))
     Cells(12, 2) = 新年級
  If 新年級 > 2 And Cells(14, 20) <> 0 Then '強迫3~6年級時,基本工作表 T14儲存格值為0
     Cells(14, 20) = 0
  End If

TOP

我又學到一招了,我一直以為中文字要加""才行,不然電腦會出現錯誤!

TOP

        靜思自在 : 【生命在呼吸間】佛陀說:「生命在呼吸間。」人無法管住自己的生命,更無法擋住死期,讓自己永住人間。既然生命去來這麼無常,我們更應該好好地愛惜它、利用它、充實它,讓這無常、寶貴的生命,散發它真善美的光輝,映照出生命真正的價值。
返回列表 上一主題