snasui wrote:
ตัวอย่างการปรับ Code ตามด้านล่างครับ
Code: Select all
Dim rall As Range
With Sheets("Sheet1")
Set rall = .Range("ae1", .Range("ae1") _
.End(xlToRight).Resize(.UsedRange.Rows.Count))
End With
Sheets("Sheet2").Range("g1") _
.Resize(rall.Rows.Count, rall.Columns.Count).Value = rall.Value
ขอบคุณมากค่ะ สำหรับการปรับโค้ด สามารถรันได้แล้วค่ะ
รบกวนขอถามท่านอาจารย์ เพิ่มเติมได้ไหมค่ะว่า ในกรณีการคัดลอกข้อมูล เราไม่จำเป็นต้องใช้คำสั่ง copy ก็ได้ใช่ไหมค่ะ
แล้วในกรณีนี้ rall ถูกกำหนดให้เป็นช่วงคอลัมภ์ที่เราต้องการจากนั้นไปที่ Sheet2 เซลล์ g1
คำสั่ง rall.Rows.Count ->เพื่อนับจำนวนแถว, และคำสั่ง rall.Columns.Count -> เพื่อนับจำนวน column
จากนั้น ช่วงเซลล์นี้ (rall.Rows.Count, rall.Columns.Count) มีค่าเท่ากับค่า rall.Value (ซึ่งเป็นค่าใน sheet 1)
ไม่ทราบว่าเข้าใจถูกต้องหรือเปล่าค่ะ ช่วยชี้แนะดด้วยค่ะ เนื่องจากอยากนำสูตรไปปรับใช้ในกรณีอื่นๆอีกค่ะ
ขอบคุณมากค่ะ