ย้ายไปที่ขอบของขอบเขตข้อมูลโดยไม่สนใจสูตรที่ว่างเปล่า


0

ฉันมีกระดาษคำนวณ Excel ที่มี 100000 สายของสูตร ( คอลัมน์ C ) ที่จะนำไปใช้อ้างอิงข้อมูลที่ผมวางลงในคอลัมน์ A เมื่อฉันต้องการที่จะคัดลอกรายการผลลัพธ์ที่ฉันเลือกเซลล์C1และctrl+ shift+ downเพื่อเลือกทั้งช่วงนั้นผม+ctrlc

ปัญหาที่ฉันเผชิญอยู่ก็คือเซลล์ว่างที่มีสูตรนั้นยังคงนับว่ามีคุณค่า ดังนั้นถ้าฉันวางเพียง 97,000 บรรทัดในคอลัมน์ Aเมื่อฉันต้องการเลือกข้อมูลจากคอลัมน์ Cฉันไม่สามารถใช้ctrl+ shift+ downได้อย่างถูกต้องเนื่องจากมันเลือกตลอดจนถึง C100000 มีวิธีใดบ้างที่ฉันสามารถเพิกเฉยต่อเซลล์ด้วยสูตรที่ค่าที่คำนวณได้ว่างเปล่าหรือไม่มีอยู่เมื่อเคลื่อนที่เซลล์หรือเลือกช่วง ?

คำตอบ:


0

คุณสามารถใช้Findเครื่องมือนี้เพื่อFind Allค่าในคอลัมน์ จากนั้นCtrl-Aให้เลือกทั้งหมด แต่มี 100,000 รายการ (หรือ 97,000) สิ่งนี้จะใช้เวลาค่อนข้างนาน หรือคุณสามารถใช้แมโคร VBA สั้น ๆ เพื่อเลือกช่วง

ป้อนคำอธิบายรูปภาพที่นี่

หรือคุณสามารถใช้มาโครด้านล่างซึ่งเขียนขึ้นเพื่อขยายเซลล์ใด ๆ ที่คุณมีเคอร์เซอร์เพื่อรวมเซลล์ทั้งหมดในคอลัมน์จากเซลล์แรกไปยังเซลล์สุดท้ายที่แสดงข้อมูล

มันอาจเป็นรหัสที่ยากไปยังคอลัมน์ที่เฉพาะเจาะจงและคุณยังสามารถรวมลำดับการคัดลอก / วาง - ค่าในแมโครที่คุณต้องการ

Option Explicit

Sub SelectWithValues()
    Dim R As Range
    Dim LastRow As Long

With Columns(Selection.Column)
    Set R = .Cells.Find(what:="*", after:=.Cells(1, 1), _
                        LookIn:=xlValues, searchorder:=xlByRows, _
                        searchdirection:=xlPrevious)
    If Not R Is Nothing Then
        Set R = Range(Cells(1, R.Column), R)
        R.Select
    End If
End With

End Sub

ในการเข้าสู่แมโครนี้ (ย่อย) ให้alt-F11เปิดตัวแก้ไข Visual Basic ตรวจสอบให้แน่ใจว่าโครงการของคุณถูกเน้นในหน้าต่าง Project Explorer จากนั้นจากเมนูด้านบนเลือกแทรก / โมดูลและวางรหัสด้านล่างลงในหน้าต่างที่เปิดขึ้น

ในการใช้มาโครนี้ (ย่อย) ให้แน่ใจว่าเคอร์เซอร์อยู่ในคอลัมน์ที่คุณต้องการเลือก alt-F8เปิดกล่องโต้ตอบแมโคร RUNเลือกแมโครโดยชื่อและ

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