2014-03-26 190 views
0

所以..我有一個excel,其中2個連續的單元格可以用相同的值(主要是文本)標記,基於這2個單元格的值細胞應該由用戶強制填充。根據其他2個單元格的值設置excel單元格

細胞的範圍可以不同,因爲我需要使用相同的片段跨越許多擅長。

任何幫助將真誠讚賞。

非常感謝! :)

+0

**給我們一個例子** –

+0

假設A1是「Hello」,B1也是「Hello」,那麼用戶應該在C1中輸入一些東西。 要添加,這可以下降多行.. – user1621796

回答

0

還有一種方法去皮膚貓,但最簡單的方法可能是包括一個VBA子(在某些觸發器,如提交)檢查單元格1和2的值,並且IF該值就是你想要觸發的任何內容......如果單元格3爲空,則提示用戶填寫框3。

IF Range("A1").Value == "Trigger" And Range("A2").Value == "Trigger" And Range("A3") == "" Then msgBox("You must fill in cell A3") 

如果添加一個類似於End Sub的break語句,表單將無法繼續,直到該單元格被填充。

+0

更具體的答案將有助於我的理解..是一個完整的VB/Excel新手 – user1621796

+0

如果你看到什麼加里張貼在那裏......這是一個更詳細的版本。有點愚蠢,我可以輸入他在我自己的答案中發佈的內容。 – sten

0

這是爲示例A1B1C1在工作表中的代碼區域中輸入以下事件宏:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    Dim A As Range, B As Range, C As Range 
    Set A = Range("A1") 
    Set B = Range("B1") 
    Set C = Range("C1") 
    If A <> "" And B <> "" And C = "" Then 
     Application.EnableEvents = False 
      C.Select 
     Application.EnableEvents = True 
     MsgBox "please enter a value in cell C1" 
    End If 
End Sub 

因爲它是工作表的代碼,它是非常容易安裝並自動使用方法:

  1. 右鍵單擊靠近Excel窗口底部的標籤名稱
  2. 選擇查看代碼 - 這帶來了一個VBE窗口
  3. 粘貼的東西並關閉VBE窗口

如果您有任何問題,首先嚐試在一個審判工作。

如果保存工作簿,宏將與其一起保存。 如果您在2003年以後使用的是Excel版本,則必須將該文件保存爲.xlsm而非 。XLSX

要刪除宏:

  1. 彈出VBE窗口如上
  2. 清晰的代碼進行
  3. 關閉VBE窗口

要了解更多關於宏一般,參見:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

要了解更多有關事件宏(工作表的代碼),請參閱:

http://www.mvps.org/dmcritchie/excel/event.htm

宏必須爲此工作啓用!

+0

Gary,謝謝你的回答。 你可以讓它更通用一些,讓我們說我可以有4行,從A1到A4和B1到B4? 或者如果我們可以添加一個while循環,它會繼續到最後一行? – user1621796

相關問題