返回列表 上一主題 發帖

[發問] 關於選取儲存格後,該列範圍變色,出現位移。

本帖最後由 av8d 於 2021-9-30 15:25 編輯

回復 20# samwang



    效果像這樣,但不用UserFrom做

    不能網底變色,單一文字變色也是我的目標,謝謝前輩大力協助,我會自己努力繼續查找的,跟您學了很多。受益良多。

TOP

回復 21# av8d


    不能網底變色,單一文字變色也是我的目標,
>> 您的需求是字體改顏色,不是儲存格加顏色(底色),不知我的理解是否正確,謝謝。

TOP

回復 22# samwang

前輩大大您好,其實有方法都可以,
因為這樣比較方便使用者快速選到想要的選項,不過好像都只有UserForm能指定的樣子。

TOP

回復 22# samwang

samwang前輩您好,想請教您
If Intersect(xA, Target) Is Nothing Then Exit Sub
這段的意思是?
我最近寫到兩個區塊,
  1. If Target.Column = 3 Then
  2.     Call 顏色
  3.     Set xC = [C1]
  4.     xC.Interior.Pattern = 0
  5.     If Intersect(xC, Target) Is Nothing Then Exit Sub
  6.     For Each xR In xC.Rows
  7.         If Not Intersect(xR, Target) Is Nothing Then
  8.             If Cells(xR.Row, 3) <> "" Then
  9.                 Cells(xR.Row, 3).Interior.Color = Col
  10.             Else
  11.                 Cells(xR.Row, 3).Interior.Color = Col
  12.             End If
  13.         End If
  14.     Next
  15.     Set xAH = [A4:H1000]
  16.     xAH.Interior.Pattern = 0
  17.     If Intersect(xAH, Target) Is Nothing Then Exit Sub
  18.     For Each xR In xAH.Rows
  19.         If Not Intersect(xR, Target) Is Nothing Then
  20.             If Cells(xR.Row, 3) <> "" Then
  21.                 [F2] = ActiveCell
  22.                 [G2] = ActiveCell
  23.                 xR.Interior.Color = Col
  24.             Else
  25.                 [F2] = ActiveCell
  26.                 [G2] = ActiveCell
  27.                 Cells(xR.Row, 3).Interior.Color = Col
  28.             End If
  29.         End If
  30.     Next
複製代碼
在除錯的時候將If Intersect(xA, Target) Is Nothing Then Exit Sub拿掉即可使用,
但是想知道為什麼?萬分感謝。

TOP

回復 24# av8d


If Intersect(xA, Target) Is Nothing Then Exit Sub
這段的意思是?
>> 可以利用F1查詢,Intersect: 會傳回代表兩個或多個範圍的矩形交集的 Range 物件。 如果指定的一個或多個範圍來自不同的工作表,則會傳回錯誤。
所以如過選擇是Target:3 col但沒有在xA範圍就離開   

TOP

本帖最後由 av8d 於 2021-10-2 01:58 編輯

回復 25# samwang

萬分感謝,請問前輩 開啟VBA這段程式碼突然失效
  1. Private Sub Workbook_Open()
  2. Application.VBE.MainWindow.Visible = True
  3. End Sub
複製代碼
原本正常(如下圖)


後來不知什麼原因失效(如下圖)


不知前輩有沒有遇到過,如果有還請解惑,萬分感謝。

TOP

回復  samwang

萬分感謝,請問前輩 開啟VBA這段程式碼突然失效原本正常(如下圖)


後來不知什麼原因 ...
av8d 發表於 2021-10-2 01:31


後來發現,是因為有自訂表單,所以會失效,但是又不能因此移除自訂表單,繼續尋找答案中。
備註:自訂表單=UserForm

TOP

回復 25# samwang

有一個標題延伸的問題想請教,如附件
問題延伸2_0909.rar (58.96 KB)

檔案中ComboBox1_Change透過改寫可正常變色,
  1. Public Sub ComboBox1_Change()
  2.     Call 顏色
  3.     ComboBox1.BackColor = GBY
  4.     Dim myRng As Range
  5.     Set myRng = ActiveCell
  6.     [A1].Select
  7.     myRng.Select
  8. End Sub
複製代碼
原先沒有[A1].Select,為了觸發變色,但是不知道該如何改寫,只好為了有對的結果加入的,
請問前輩,是否更好的寫法讓在ComboBox1變動時,原變色的儲存格或列變色呢?謝謝

TOP

回復 28# av8d

是否更好的寫法讓在ComboBox1變動時,原變色的儲存格或列變色呢?
>>不好意思,終於了解您的需求,如附件請測試看看,謝謝

問題延伸2_1008.zip (57.84 KB)

TOP

回復 29# samwang


  Worksheet_SelectionChange改成模組的寫法我很喜歡,進而學習到更多新知,謝謝您!

TOP

        靜思自在 : 人要自愛,才能愛普天下的人。
返回列表 上一主題