Board logo

標題: 請問如何批次讓驗證清單的警告設定為關閉呢? [打印本頁]

作者: starry1314    時間: 2015-9-2 13:25     標題: 請問如何批次讓驗證清單的警告設定為關閉呢?

本帖最後由 starry1314 於 2015-9-2 13:31 編輯

因有數百格驗證清單,沒辦法使用選取的來關閉錯誤提醒 會導致設定被刪除

有使用錄製的但沒辦法套用至別的儲存格
定義名稱會被覆蓋掉
只想讓他執行關閉錯誤那行,但如果前面
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=_1_2_1_1" 刪掉 會不能執行
Sub 錯誤提醒()
'
    Range("G6:H6").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=_1_2_1_1"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .IMEMode = xlIMEModeNoControl
        .ShowInput = True
        .ShowError = False
    End With
End Sub
作者: 准提部林    時間: 2015-9-2 16:09

Sub Macro1()
Dim xR As Range
For Each xR In Cells.SpecialCells(xlCellTypeAllValidation)
  xR.Validation.ShowError = False
Next
End Sub
作者: starry1314    時間: 2015-9-3 09:44

回復 2# 准提部林
請問這段該如何使用呢? 我先選取一格儲存格在執行或是選取所有要取消錯誤提醒的儲存格也是出錯無法執行
作者: starry1314    時間: 2015-9-3 10:27

回復 2# 准提部林

請問如果是合併儲存格該怎麼使用呢?  在這段程式碼裡面 不知如何加入.value
作者: lpk187    時間: 2015-9-3 11:02

回復 4# starry1314


     Range("G6:H6").Validation.ShowError = False
作者: starry1314    時間: 2015-9-3 11:33

回復 5# lpk187


不行哦~這只是選取那一格合併儲存格, 這支程式不知道怎麼讓他在合併儲存格也可運作....記得別種程式應用在合併儲存格只要.VALUE即可
作者: 准提部林    時間: 2015-9-3 12:34

回復 4# starry1314

合併格,先解除合併,再復原
Sub Macro1()
Dim xR As Range
On Error Resume Next
For Each xR In Cells.SpecialCells(xlCellTypeAllValidation)
  With xR.MergeArea
     .UnMerge
     .Item(1).Validation.ShowError = False
     .Merge
  End With
Next
End Sub

若要指定選取區,可改成:
For Each xR In Selection.Cells.SpecialCells(xlCellTypeAllValidation)
 
Next
作者: lpk187    時間: 2015-9-3 14:09

本帖最後由 lpk187 於 2015-9-3 14:10 編輯

回復 6# starry1314


    你的問題不是只要"關閉錯誤提醒"嗎?
還是重做一個新的驗證清單,輸入新的驗證資料後,再關掉?
若只是"關閉錯誤提醒"和合併儲存格有什麼關係?2樓的答案一樣可以關閉,也不會刪掉原來的驗證資料
或者把檔案放上來看看
另外由VBA由寫入到驗證資料的儲存格的錯誤值,不用"關閉錯誤提醒"也可以寫入
還有_1_2_1_1是定義的名稱嗎?
作者: starry1314    時間: 2015-9-3 14:57

回復  starry1314


你的問題不是只要"關閉錯誤提醒"嗎?
還是重做一個新的驗證清單,輸入新的驗證資料後,再關掉?
若只是"關閉錯誤提醒"和合併儲存格有什麼關係?2樓的答案一樣可以關閉,也不會刪掉原來的驗證資料
或者把檔案放上來看看
另外由VBA由寫入到驗證資料的儲存格的錯誤值,不用"關閉錯誤提醒"也可以寫入
還有_1_2_1_1是定義的名稱嗎?
lpk187 發表於 2015-9-3 14:09




1.是的,我要的是關閉錯誤提醒
2.沒有要輸入新的驗證資料
3.2樓答案是可以關閉,但只能應用在未合併過的儲存格上,否則會報錯!7樓大大有更新新代碼,已解決此代碼遇到合併儲存格報錯情況
4._1_2_1_1 = 定義名稱

目前已解決問題囉∼感謝
作者: starry1314    時間: 2015-9-3 14:58

回復 7# 准提部林


    感謝大大∼已解決問題囉∼
此自動解除合併後再合併的代碼 真實用




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)