返回列表 上一主題 發帖

[發問] 指定區域輸入某值後改變成另一值

[發問] 指定區域輸入某值後改變成另一值

假設需要改的的區域為range("B2:B5")

希望在輸入例如
1時就會買上改成國語
2時就會買上改成數學
等的即時改變

不希望在全部都輸入完成時,才全部改變

不知道有這種方法嗎?
謝謝



本帖最後由 joey0415 於 2014-7-14 09:42 編輯

回復 1# joey0415

目前進度,可以按下去後,執轉數字轉換國字的功能,不過想要刪除時,卻出下以下問題,不知有高手可以指導一下!謝謝

若按delete鍵後,其中一格會變成空值是我想要的,若要選擇一個區域,例如range("b2:c5")後,再按delete鍵後,則會出錯,不知有方法可以不要一個個刪除,也可以選擇區域刪除
  1. Private Sub Worksheet_Change(ByVal Target As Range)

  2.     If Not Intersect(Target, Range("B2:C5")) Is Nothing Then
  3.    
  4.         If Target = 1 Then
  5.             Target = "國語"
  6.         End If
  7.    
  8.         If Target = 2 Then
  9.             Target = "數學"
  10.         End If
  11.         
  12.         If Target = 3 Then
  13.             Target = "社會"
  14.         End If
  15.         
  16.         If Target = 4 Then
  17.             Target = "自然"
  18.         End If
  19.    
  20.     End If
  21. End Sub
複製代碼

TOP

回復 3# Hsieh

請問超版
Target(1)是什麼意思,找不到相關資料

為什超版這樣寫若按刪除鍵不會出錯呢?

再次感謝超版

TOP

回復 5# Hsieh

感謝懂80%
若選取range(b2:d5),就表示選取多格,無法取得值,所以刪除時應該會出錯,而超版是用Application.EnableEvents = False與Application.EnableEvents = True來避掉錯誤嗎?

謝謝指點
若未指定單一儲存格,則選取多格情況下,Target會傳回二維陣列,即無法取得值

TOP

回復 7# Hsieh

謝謝超版,買上來練習!再次感謝

TOP

        靜思自在 : 【做人的開始】每一天都是故人的開始,每一個時刻都是自己的警惕。
返回列表 上一主題