返回列表 上一主題 發帖

[發問] 如何快速變換Workbook_Open的兩種功能需求?

[發問] 如何快速變換Workbook_Open的兩種功能需求?

本帖最後由 av8d 於 2012-7-3 09:11 編輯

Private Sub Workbook_Open()
    Range ("A1")
End Sub

Private Sub Workbook_Open()
    Range ("Z1")
End Sub

以上為範例~是否有什麼方法可以快速變換Workbook_Open內程式碼的內容?
例如我製作兩個OptionButton,分別命名為A1和Z1
當點到A1的時候Workbook_Open就轉換成A1
當點到Z1的時候Workbook_Open就轉換成Z1

問題稍明朗些了!
Book1.rar (10.87 KB)

TOP

本帖最後由 av8d 於 2012-7-3 22:09 編輯

回復 2# GBKEE

以下都是ActiveX控制項:

如果改成
當選取OptionButton1做
Private Sub CommandButton10_Click()
Range("A1")
End Sub
當選取OptionButton2做
Private Sub CommandButton10_Click()
Range("Z1")
End Sub

也適用大大提供的方法套用嗎?
當選取OptionButton1關閉檔案再開啟
他會移動到A1
當選取OptionButton2關閉檔案再開啟
他會移動到Z1

辛苦大大了~謝謝!

TOP

回復 1# av8d
  1. Option Explicit
  2. Private Sub Workbook_Open()
  3.     '例如我製作兩個OptionButton,分別命名為A1和Z1
  4.     '**--- 兩個OptionButton  是同一群組
  5.     Dim e As Shape, Rng As Range
  6.     With Sheets("Sheet1")
  7.         For Each e In .Shapes
  8.             If e.Name = "A1" Or e.Name = "Z1" Then
  9.                 If e.Type = 12 Then                     '控制工具箱工具列的 OptionButton
  10.                     If .OLEObjects(1).Object.Value Then Set Rng = .Range(e.Name)
  11.                 ElseIf .Shapes(1).Type = 8 Then         '表單工具列的 Option Button
  12.                     If e.OLEFormat.Object.Value Then Set Rng = .Range(e.Name)
  13.                 End If
  14.             End If
  15.           Next
  16.     End With
  17. End Sub
複製代碼

TOP

        靜思自在 : 我們要做好社會的環保,也要做好內心的環保。
返回列表 上一主題