การเลือกเซลล์ถัดจากเซลล์ปัจจุบันใน excel


1

ฉันกำลังทำ vba ขนาดเล็กใน excel ซึ่งเปลี่ยนค่าของเซลล์ว่างเป็น "ไม่มีข้อมูล" นี่คือสิ่งที่ฉันทำไปแล้ว:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo hell:
Application.Goto reference:="DBtable"
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.SpecialCells(xlCellTypeBlanks).Value = "NO DATA"

'I DON'T KNOW WHAT TO PUT HERE

hell:
End Sub

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

คำตอบ:


0

คุณสามารถใช้ได้ Range.Offset เพื่อย้ายส่วนที่เลือกคุณยังสามารถปรับปรุงรหัสปัจจุบันของคุณได้ (ปัจจุบันจะมองหาทั้งตารางสำหรับเซลล์ว่างไม่ใช่เฉพาะระเบียนใหม่

รหัสที่ได้รับการปรับปรุง:

Private Sub Worksheet_Change(ByVal Target As Range)

    On Error GoTo Hell

    ' whenever I add a new record on my table and it contains a blank cell, 
    ' it should be changed immediately with the "NO DATA" value:
    Intersect(Target.EntireRow, Range("DBTAble")).SpecialCells(xlCellTypeBlanks).Value _ 
         = "NO DATA"

    '  then the selection should be on the next cell of the last cell I modified:
    Target.Offset(0, 1).Activate

    Exit Sub    

Hell:
    Err.Clear
End Sub

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