Excel 文字方塊 點選變色

如題 想請問大大們該如何做到

EX:我這個sheet 有5個文字方塊並作超連接

1.當我點選1連接到1時,1的文字方塊會變色(該如何做?)

2.我改點3連接到3時,3的方塊會變色而1會變回原本的顏色

請問該如何在VB裡面作到呢?

1 個解答

評分
  • 7 年前
    最佳解答

    我暫不考慮有沒有超連結的問題,你的問題是要觸發事件

    所以必須要在觸發事件中寫入程式碼,一共有五個『文字方塊』我以下以兩個為例

    剩下的三個則可自己修改使用!

    Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

     For i = 1 To ActiveSheet.Shapes.Count

      If ActiveSheet.Shapes(i).Name = "TextBox1" Then

        Application.ActiveWorkbook.ActiveSheet.Shapes(i).DrawingObject.Object.BackColor = vbRed

       Else

        Application.ActiveWorkbook.ActiveSheet.Shapes(i).DrawingObject.Object.BackColor = vbYellow

      End If

     Next i

    End Sub

    Private Sub TextBox2_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

     For i = 1 To ActiveSheet.Shapes.Count

      If ActiveSheet.Shapes(i).Name = "TextBox2" Then

        Application.ActiveWorkbook.ActiveSheet.Shapes(i).DrawingObject.Object.BackColor = vbRed

       Else

        Application.ActiveWorkbook.ActiveSheet.Shapes(i).DrawingObject.Object.BackColor = vbYellow

      End If

     Next i

    End Sub

    我是選擇『MouseDown』事件來放程式,如何到這個地方,有很多路徑,以下舉例

    1. 在Excel 中開啟『開發人員』(我是2010版)

    2. 點選『設計模式』,然後連點文字方塊兩下,就會出現VBA的程式區

    3. 假設你這些控制項(文字方塊都沒有改名字,如TextBox1.TextBox2...TextBox5)

    把上面的程式碼貼上去,然後修改成五個,如此就能夠達成你的需要了

    註:我是設定點選的為紅色、此時其他的為黃色,如果你不喜歡可以改其他顏色

還有問題?馬上發問,尋求解答。