返回列表 上一主題 發帖

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

本帖最後由 GBKEE 於 2012-8-21 14:25 編輯

回復 2# kevin681024
少一的 .
With Union(.Range("A1:V2"), .Range("a3", .Cells(3, 1).End(xlDown)))

回復 1# skyutm
Selection 屬性   如果是 Application 物件,則傳回現用視窗中的選定物件,如果是 Windows 物件,則傳回指定視窗。
  1. Option Explicit
  2. Sub Worksheet_Activate()
  3.     'Worksheet_Activate: 選擇 **此工作表**的所觸動的事件程序
  4.     '---如有開啟2個視窗-------------------------------------------------
  5.     'MsgBox Windows(2).Selection.Address(, , , 1)  '第二個視窗 使用中儲存格
  6.     '--------------------------------------------------------------------
  7.     MsgBox Selection.Address(, , , 1)         '使用中視窗的 使用中儲存格
  8.    
  9.     'Worksheets("期中評量") 是物件  沒有Selection 這屬性
  10.    
  11.     With Worksheets("期中評量") '如不是**此工作表**
  12.         
  13.         .Activate
  14.         'Activate: 轉到"期中評量"  <--** 因有.Select 不然會出錯
  15.         .Range("A1:v2").Select
  16.         .Range("a3", .Cells(3, 1).End(xlDown)).Select
  17.         '.Selection.Locked = True
  18.         '.Selection.FormulaHidden = True
  19.         Selection.Locked = True
  20.         Selection.FormulaHidden = True
  21.         .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
  22.         'Protect: 是工作表的方法 前面加上 . 無須指定 ActiveSheet
  23.     End With
  24. End Sub
複製代碼

TOP

本帖最後由 GBKEE 於 2012-8-26 06:22 編輯

回復 1# skyutm
SpecialCells(xlCellTypeConstants, xlNumbers)  沒有傳回指定的儲存格會有錯誤
工作表函數 Count  :計算含有數字的儲存格數量
工作表函數 CountA :計算不是空白的儲存格數量
  1. Sub Ex()
  2. Dim chall, aa
  3. chall = Worksheets("基本設定").Range("d2").Value
  4. With Worksheets("期中評量")
  5. .Range("c2").Value = "國語x" & chall
  6. aa = Application.Count(.Range("c3", .Range("c3").End(xlDown)))
  7. End With
  8. Worksheets("期中統計").Range("d4").Value = aa
  9. End Sub
複製代碼

TOP

本帖最後由 GBKEE 於 2012-8-27 06:04 編輯

回復 9# skyutm
Dim  變數  As  型態(或 物件)   (沒有指明就是  Variants型態)
並非所有工作表函數皆可用於VBA
圖中可選用V BA可用之工作表函數



上圖 須有此設定

TOP

本帖最後由 GBKEE 於 2012-8-29 06:35 編輯

回復 12# skyutm
& 運算子與前後的字串或變數須空一格
&與前面連接的字串或變數空一格 , 系統會自動在&後空一格
A= B &C                 系統會自動在&後空一格    A= B & C
A=B &C &D &E   系統會只會 在&後空一格    A= B & C & D & E

TOP

本帖最後由 GBKEE 於 2012-8-30 07:01 編輯

回復 15# skyutm
這些變數 a11 , b11, c11, d11, e11, f11    Dim   As Integer  程序尚未給值時 都為 0     
這式是多此一舉  a11 = b11 = c11 = d11 = e11 = f11 = 0   傳回   True 或 False   (++=+ ,  +-=- , --=+)
  1. Option Explicit
  2. Sub Ex()
  3. Dim xlBoolean As Boolean
  4. Dim a11 As Integer, b11 As Integer, c11 As Integer, d11 As Integer, e11 As Integer, f11 As Integer
  5. a11 = b11
  6. xlBoolean = a11
  7. Debug.Print xlBoolean & " " & a11 '即時運算視窗終可察看
  8. a11 = b11 = c11
  9. xlBoolean = a11
  10. Debug.Print xlBoolean & " " & a11
  11. a11 = b11 = c11 = d11
  12. xlBoolean = a11
  13. Debug.Print xlBoolean & " " & a11
  14. a11 = b11 = c11 = d11 = e11
  15. xlBoolean = a11
  16. Debug.Print xlBoolean & " " & a11
  17. a11 = b11 = c11 = d11 = e11 = f11
  18. xlBoolean = a11
  19. Debug.Print xlBoolean & " " & a11
  20. a11 = b11 = c11 = d11 = e11 = f11 = 0
  21. xlBoolean = a11
  22. Debug.Print xlBoolean & " " & a11
  23. End Sub
複製代碼

Boolean 資料型態Boolean 變數係以 16 位元( 2 個位元組)數字的形式儲存,但只能是 True 或是 False。Boolean 變數的值不是 True 就是 False ( 在使用 Print 的時候 ),或是 #TRUE# 和 #FALSE# ( 在使用 Write # 的時候 )。使用關鍵字 True 與 False 可將 Boolean 變數指定為這兩個狀態中的一個。
當轉換其他的數值型態為 Boolean 時,0 會轉成 False,而所有其他的值則變成 True。當轉換 Boolean 值為其他的資料型態,時,False 成為 0 ,而 True 成為 -1。

TOP

回復 18# skyutm
Application.Transpose(ar) 是使用工作表 轉置函數  本帖 10# 已有介紹如何使用工作表
對於不懂的VBA  方法, 屬性, 函數 可多看 VBA中的說明練習它的範例 會進步的
這有整理   新手 VBA 入門常見問題

TOP

        靜思自在 : 人生不一定球球是好球,但是有歷練的強打者,隨時都可以揮棒。
返回列表 上一主題