- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 1# myleoyes
試試看- Sub 練習()
- Dim Rng As Range
- With Sheets("練習")
- .[AG3] = "=AB2-SUM(AD2/2,AE2,AA3,AC3/2)": .[AI3] = "=AG3/(AA3+AC3/2)"
- Set Rng = Sheets("練習").Range("V" & Rows.Count).End(xlUp)(2, 1)
- Rng = Date
- ZZ = Application.InputBox("請輸入數字", "練習資料", Type:=1)
- If ZZ <= 0 Then Rng = "": .[AG3,AI3] = "": End
- With Rng.Cells(1, 2) '由Rng的欄位算起第2欄同一列的儲存格 = W欄
- .Value = ZZ
- .Font.ColorIndex = 7
- End With
- ag:
- ZZ = Application.InputBox("請輸入數字", "數據資料", Type:=1)
- If ZZ <= 0 Then GoTo ag
- With Rng.Cells(1, 3) '由Rng的欄位算起第3欄同一列的儲存格=X欄
- .Value = ZZ
- .Font.ColorIndex = 7
- End With
- With Rng.Cells(1, 5) '由Rng的欄位算起第4欄同一列的儲存格=Z欄
- For Each e In Array(1, 2, 4, 8, 10) '陣列: 由Z欄算起的欄
- With .Cells(1, e) '由Z欄算起的欄同一列的儲存格
- .FormulaR1C1 = Cells(3, .Column).FormulaR1C1
- If e = 4 And .Value <= 150 Then
- .Value = 200
- .Font.ColorIndex = 7
- ElseIf e = 8 Then
- .Font.ColorIndex = 10
- ElseIf e = 10 And .Value < 0 Then
- .Font.ColorIndex = 3
- End If
- End With
- Next
- End With
- .Columns("V:AI").EntireColumn.AutoFit
- '如活頁簿設定計算 :方式為手動,那才須重算此工作表.
- .Calculate '重算此工作表.
- '此重算 也許是你認為執行起來覺得很慢 的主因
- End With
- ActiveWorkbook.Save
- End Sub
複製代碼 |
|