ฉันจะป้องกันผู้ใช้จากการป้อนค่าว่างในแผ่นงาน Excel ได้อย่างไร


1

ฉันต้องการ จำกัด ผู้ใช้ให้ป้อนเพียง 0 หรือ 1 ในแผ่นงาน Excel 2007

ฉันใช้กล่องโต้ตอบข้อมูล> การตรวจสอบความถูกต้องของข้อมูลเพื่อทำสิ่งนี้ แต่ฉันพบว่ามันไม่ได้หยุดพวกเขาจากการป้อนช่องว่าง

สิ่งที่ฉันต้องการคือให้มีพรอมต์เมื่อพวกเขาเข้าสู่ช่องว่างเช่นเดียวกับที่ปรากฏขึ้นเมื่อพวกเขาป้อนข้อมูลอื่น ๆ ที่ไม่ใช่ช่องว่างที่ไม่ใช่ 0 หรือ 1

ฉันวางแผนที่จะเติมชีตด้วย 0s ก่อนที่จะใช้การตรวจสอบความถูกต้องดังนั้นจึงไม่ควรมีปัญหากับข้อมูลที่ผิดพลาด

นอกจากนี้ฉันเปิดใช้ VBA เพื่อแก้ไขปัญหานี้

คำตอบ:


1

ขั้นตอนเหตุการณ์การเปลี่ยนแปลงนี้จะดูเซลล์ใด ๆ ที่มีการตรวจสอบความถูกต้องและแสดงข้อความข้อผิดพลาดจากการตรวจสอบความถูกต้อง มันไม่ทำงานเหมือนการตรวจสอบความถูกต้องเนื่องจากมันไม่ได้บังคับให้ "ลองใหม่" นอกจากนี้มันยังมี '1' อยู่ในนั้นถ้ามันถูกลบ คุณสามารถใส่คุณค่าเก่าไว้ในนั้นได้ แต่มันจะใช้เวลามากขึ้นและเป็นสิ่งที่ฉันพยายามหลีกเลี่ยง

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim sForm As String

    On Error Resume Next
        sForm = Target.Validation.Formula1
    On Error GoTo 0

    If Len(sForm) > 0 Then 'has validation
        If IsEmpty(Target.Value) Then 'cell was deleted
            MsgBox Target.Validation.ErrorMessage, vbOKOnly, Target.Validation.ErrorTitle
            Application.EnableEvents = False
                Target.Value = 1
            Application.EnableEvents = True
        End If
    End If

End Sub

ขอบคุณ - มันใช้งานได้ดีมากที่ฉันใช้มันแทนการตรวจสอบ :)
Tola Odejayi

0

ควรมีตัวเลือกในการตั้งค่าการตรวจสอบความถูกต้องของข้อมูลเป็น "ไม่ต้องสนใจข้อมูล" หากคุณปิดใช้งาน (ยกเลิกการเลือก) ตัวเลือกนี้จะไม่ทำสิ่งที่คุณต้องการใช่หรือไม่

ตั้งค่า DV เป็นจำนวนเต็มระหว่าง 0 ถึง 1 และยกเลิกการทำเครื่องหมาย "ละเว้นว่าง"


ฉันลองมัน แต่มันไม่ทำงาน ฉันพบว่าฉันยังคงสามารถป้อนข้อมูลเปล่าได้
Tola Odejayi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.