2023年7月31日 星期一

VBA:變數配置Set

 

Set:將值指定給物件型別的時候,必須使用「Set」

程式碼:
Set myRange=Range(“a1:b1”) ;指定儲存格a1:b1為 myRange物件型別
Set myactive=Activesheet.usedRange ;指定作業中工作表使用範圍為 myactive物件型別
Set myRange = ws.Cells.Find(what:=“test”) ;指定找尋字串為 myRange物件型別

Set myRange= Nothing ;指定為 myRange物件型別作釋放



變數的有效範圍及有效期限

變數的有效範圍及有效期限

程序層級變數的有效範圍


模組層級變數








VBA:工作表 屬性:COPY

第一種:

變數TEMP:存放要複製的工作表名稱

直接複製,會生成一頁一模一樣的工作表在獨立的工作簿當中

Private Sub CommandButton1_Click()

  TEMP = ActiveSheet.Range("f7")

  Sheets(TEMP).Copy

End Sub

第二種: 

針對TEMP作工作頁複製,並複製到最後一頁

sheets. Count:總工作表

變數TEMP:存放要複製的工作表名稱

AFTER:=:用來控制位置之後的位置

Private Sub CommandButton1_Click() 

   TEMP = ActiveSheet.Range("f7")

   Sheets(TEMP).Copy AFTER:=sheets.Item(sheets.Count)

End Sub

BEFORE:=:用來控制位置之前的位置

Private Sub CommandButton2_Click() 

     TEMP = ActiveSheet.Range("f7")

     Sheets(TEMP).Copy BEFORE:=Worksheets.Item(1)

End Sub


第三種:

        指定工作表,指定複製位置

Private Sub CommandButton3_Click()

     TEMP1 = ActiveSheet.Range("f7")

     TEMP2 = ActiveSheet.Range("f8")

     Sheets(TEMP1).Copy AFTER:=Worksheets.Item(Sheets(TEMP2).Index)

End Sub

Private Sub CommandButton4_Click() 

      TEMP1 = ActiveSheet.Range("f7")

      TEMP2 = ActiveSheet.Range("f8")

       Sheets(TEMP1).Copy BEFORE:=Worksheets.Item(Sheets(TEMP2).Index)

End Sub





VBA:簡單說說RANGE與CELLS 語法比較

ActiveSheet:目前正在使用中的工作表,name工作表的名稱屬性

cells、range儲存格物件

圖一個儲存格,不同的取得資料的方式

ActiveSheet.Name = ActiveSheet.Range("E4")

ActiveSheet.Name = ActiveSheet.cells(4,5)

透過e4儲存格來設定工作表的名稱
range直觀的透過文字方式來控制
cells則是透過座標系統的概念來控制,不過這座標是以a1儲存格作為起點歐(1,1)。


股票回顧歷史:合約負債 105/07~110/04


























































 

指數變化(2024.12.06)

       指數變化(2024.12.06) 上周焦點:   密西根消費者信心指數 74,又破70了 本周愛看:        美國蠆售銷售月增率 12/09       美國核心CPI年增率 12/11       美國連續申請失業救濟人數 12/12  本周指數變化: 指數...