Page 1 of 1

ให้ sellection ข้อมูลจาก แถวสุดท้าย ลงมาโดยกำหนดค่า ในเซลแต่เกิดติดแก้อย่างไรครับ

Posted: Tue Aug 09, 2022 8:29 pm
by nutpochan

Code: Select all

Sub test()

Dim a As Range
Set a = Range("A1").End(xlDown).Offset(Range("c1").Value, 0).Select

    Range("a1:a" & Range("c1").Value).Select
End Sub
โค๊ดคืออันนี้นะครับ
ผมอยากจะเขียนคำสั่งให้เลือก แถวสุดท้ายของ a1 ลงมา 5แถว โดยจำนวน 5 แถวไม่ตายตัวเสมอไป จำนวนที่ ให้ใช้คำสั่ง

Code: Select all

 Range("a1:a"..
ต่างๆนั้น จะกำหนด แถวที่ ต้องเลือกตาม เซล c1


และอีกอย่างคือ ถ้าคอลัม a ไม่มีข้อมูลอยู่เลย ผมอยากให้ คำสั่งเลือก ตั้งแต่ a1 ถึง คอลัม จำนวนที่เลือกตาม c1 ครับ แต่ถ้ามีข้อมูลอยู่แล้วให้เลือก คอลัมสุดท้ายครับ ไฟล์แนบมาแล้วครับ

Re: ให้ sellection ข้อมูลจาก แถวสุดท้าย ลงมาโดยกำหนดค่า ในเซล แก้อย่างไรครับ

Posted: Wed Aug 10, 2022 8:21 pm
by nutpochan
nutpochan wrote: Tue Aug 09, 2022 8:29 pm

Code: Select all

Sub test()

Dim a As Range
Set a = Range("A1").End(xlDown).Offset(Range("c1").Value, 0).Select

    Range("a1:a" & Range("c1").Value).Select
End Sub
โค๊ดคืออันนี้นะครับ
ผมอยากจะเขียนคำสั่งให้เลือก แถวสุดท้ายของ a1 ลงมา 5แถว โดยจำนวน 5 แถวไม่ตายตัวเสมอไป จำนวนที่ ให้ใช้คำสั่ง

Code: Select all

 Range("a1:a"..
ต่างๆนั้น จะกำหนด แถวที่ ต้องเลือกตาม เซล c1


และอีกอย่างคือ ถ้าคอลัม a ไม่มีข้อมูลอยู่เลย ผมอยากให้ คำสั่งเลือก ตั้งแต่ a1 ถึง คอลัม จำนวนที่เลือกตาม c1 ครับ แต่ถ้ามีข้อมูลอยู่แล้วให้เลือก คอลัมสุดท้ายครับ ไฟล์แนบมาแล้วครับ

Re: ให้ sellection ข้อมูลจาก แถวสุดท้าย ลงมาโดยกำหนดค่า ในเซลแต่เกิดติดแก้อย่างไรครับ

Posted: Wed Aug 10, 2022 10:45 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

Sub test()

    Dim a As Range
    Set a = Range("A1").Resize(Range("c1").Value)
    a.Select
End Sub

Re: ให้ sellection ข้อมูลจาก แถวสุดท้าย ลงมาโดยกำหนดค่า ในเซลแต่เกิดติดแก้อย่างไรครับ

Posted: Sun Aug 14, 2022 9:27 pm
by nutpochan
ขอบคุณครับ
ได้โค๊ดไปต่อยอด สำเร็จได้คำสั่งดังต่อไปนี้ครับ

Code: Select all

Sub test()

If Range("a1").Value = "" Then
    Range("d1:e1").Select
    Selection.Copy
   Dim a As Range
    Set a = Range("A1").Resize(Range("c1").Value)
    a.Select
      Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
        
ElseIf Range("a1").Value > "0" Then
    Range("d1:e1").Select
    Selection.Copy
      Range("a1").Select
   Dim b As Range
    Set b = Selection.End(xlDown).Resize(Range("c1").Value)
    b.Select
      Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False

End If
    'Selection.End(xlDown).Select
    'Range("A3").Select
End Sub