標題:
請問一個VBA 按鈕連結問題
[打印本頁]
作者:
tonycho33
時間:
2012-1-12 11:00
標題:
請問一個VBA 按鈕連結問題
請問一下我想設計上面有按鈕A1~A25
對應的資料庫在左邊(AB欄為空白)
只要按下對應的按鈕則顯示在K3~Q7的儲存格上
另外,M6是開始時間,M7是結束時間,S1是比對時間值
如果比對時間值在M6~M7(對應到資料庫上的比對時間)之間則顯示對應物件綠色
如果超出區間則顯示紅色
要如何寫呢
謝謝
作者:
tonycho33
時間:
2012-1-13 11:45
請求各位協助
謝謝
作者:
register313
時間:
2012-1-13 13:07
回復
2#
tonycho33
將按鈕改為儲存格
先只處理A1~A11
Private Sub Worksheet_SelectionChange(ByVal T As Range)
If T.Row = 27 And T.Column >= 7 And T.Column <= 17 Then
Set Rng = Columns("Z").Find(T)
[K3].Resize(5, 7) = Rng.Resize(5, 7).Value
If ([S1] > [N6]) And ([S1] < [N7]) Then
Shapes("Group " & Mid(Rng.Value, 2, 2)).Fill.ForeColor.SchemeColor = 11
Else
Shapes("Group " & Mid(Rng.Value, 2, 2)).Fill.ForeColor.SchemeColor = 45
End If
End If
End Sub
複製代碼
先抛出一點想法,後續讓大大們繼續討論
[attach]9205[/attach]
作者:
GBKEE
時間:
2012-1-13 14:24
回復
2#
tonycho33
你檔案的 按鈕A1~A25 是 : 工具->自訂-表單 的按鈕(Button)
請改成
: 工具->自訂-控制工具箱 的按鈕(CommandButton)
對應物件 的命名 (
有對應性
) : 如按鈕文字 (A1) -> 對應物件 ( Group 1) ; 按鈕文字( A16) -> 對應物件(Group 16)
請修改後上傳 再試試看.
作者:
tonycho33
時間:
2012-1-13 17:16
回復
4#
GBKEE
作者:
GBKEE
時間:
2012-1-13 18:43
回復
5#
tonycho33
試試看
[attach]9210[/attach]
作者:
tonycho33
時間:
2012-1-16 11:16
本帖最後由 tonycho33 於 2012-1-16 11:30 編輯
回復
6#
GBKEE
你好
你寫的程式可以RUN
但是有問題想請教
資料庫中Z欄到AF欄的儲存格如果有公式連結的話的話好像就會找不到
要如何處理呢
要如何新增
旁邊的B1∼B8
C1∼C3
D1∼D2
謝謝
作者:
GBKEE
時間:
2012-1-16 13:38
本帖最後由 GBKEE 於 2012-1-16 13:42 編輯
回復
7#
tonycho33
資料庫中Z欄到AF欄的儲存格如果有公式連結的話的話好像就會找不到
請舉個例
要如何新增旁邊的B1∼B8 C1∼C3 D1∼D2
可依樣畫葫茹
請改成: 工具->自訂-控制工具箱 的按鈕(CommandButton) 對應的圖片 請要先加工 如圖:
[attach]9219[/attach]
物件模組程式碼修改如下
Option Explicit
Public WithEvents A_CommandButton As MSForms.CommandButton '物件模組的物件變數
Private Sub A_CommandButton_Click()
Dim S As String, Rng As Range
S = A_CommandButton.Caption
With Sheet21
Set Rng = .Columns("Z").Find(S, LookAT:=xlWhole)
If Rng Is Nothing Then MsgBox "找不到 " & S: Exit Sub
[K3].Resize(5, 7) = Rng.Resize(5, 7).Value
If S Like "A*" Then
S = Replace(A_CommandButton.Caption, "A", "Group ")
'"A" 改為"Group " : A15 -> Group 15
ElseIf S Like "B*" Then
S = Replace(A_CommandButton.Caption, "A", "GroupB ")
'"B" 改為"GroupB " : B1 -> GroupB 1
ElseIf S Like "C*" Then
S = Replace(A_CommandButton.Caption, "C", "GroupC ")
'"C" 改為"GroupC " : C1 -> GroupC 1
ElseIf S Like "D*" Then
S = Replace(A_CommandButton.Caption, "D", "GroupD ")
'"B" 改為"GroupD " : D1 -> GroupD 1
End If
.Shapes(S).Select
If .[S1] > .[N6] And .[S1] < .[N7] Then
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 17
Else
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 10
End If
End With
DoEvents
ActiveCell.Select
End Sub
複製代碼
作者:
tonycho33
時間:
2012-1-16 14:10
回復
8#
GBKEE
公式連結的問題
作者:
GBKEE
時間:
2012-1-16 15:36
回復
9#
tonycho33
物件模組的程式碼
Set Rng = .Columns("Z").Find(S, LookAt:=xlWhole)
改成
Set Rng = .Columns("Z").Find(S,
LookIn:=xlValues
, LookAt:=xlWhole)
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)