2016-04-20 39 views
2

我有4個單元格,都有輸入數字的能力(如下圖所示),但是我想知道的是我怎樣才能限制它,以便四個單元格中只有一個可以更大比「0」。例如,如果for cell中的1個> 0,那麼其餘3個必須爲0.我可以選擇將它們創建爲「是/否」驗證,但是我不確定如何刪除另一個「是」選項細胞已經指出「是」限制單元格內容單選按鈕樣式

Standard (24 months) per AP | 0 | 
Advanced (24 months) per AP | 1 | 
Complete (24 months) per AP | 0 | 
Complete + (24 months) per AP | 0 | 

回答

1

您可能希望嘗試一個Worksheet_Change事件宏¹。

Option Explicit 

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Not Intersect(Target, Range("B2:B5")) Is Nothing Then 
     On Error GoTo bm_Safe_Exit 
     Application.EnableEvents = False 
     If Intersect(Target, Range("B2:B5")).Count = 1 Then 
      If Intersect(Target, Range("B2:B5")).Cells(1).Value >= 1 Then 
       Range("B2:B5") = 0 
       Intersect(Target, Range("B2:B5")).Cells(1) = 1 
      Else 
       Range("B2:B5") = 0 
      End If 
     Else 
      Range("B2:B5") = 0 
     End If 
    End If 
bm_Safe_Exit: 
    Application.EnableEvents = True 
End Sub 

ones_zeroes_radio_buttons


¹這屬於在工作表的代碼表。右鍵單擊工作表的名稱選項卡,然後選擇查看代碼。當VBE打開時,將上述內容粘貼到標題爲Book1 - Sheet1(Code)的代碼窗格中。進行任何調整,然後點擊Alt + Q返回到工作表。

0

我不能在此刻用Excel測試這一點,但這個工程,並使用谷歌上表數據驗證爲自定義公式:

=COUNTIF($B$1:$B$4,"<>"&0)<=1 
+1

感謝您的支持。它沒有起作用,但對我應該前進的方向有所瞭解。我用** = IF(SUM(F33:F35)> 0,0,SUM(F10:F11))**,它似乎工作正常。 @Jordan Biddlecombe –