Page 1 of 1
จะสั่งให้ Rows เป็นตัวแปรอย่างไรครับ
Posted: Tue Mar 27, 2018 1:43 pm
by yangkodza
Code: Select all
Sub ตัดบรรทัด()
AA = [BK8].Value + 5
Rows("41:54").Select
Selection.ClearContents
End Sub
จากโจทย์ที่กำหนดให้ ต้องการให้ บรรทัดที่ 41 แทนที่ด้วยค่าตัวแปร AA ครับ
เราต้องปรับสูตรแบบไหนครับ ต้องการช่วงข้อมูลที่ Rows AA:54 ครับ
Re: จะสั่งให้ Rows เป็นตัวแปรอย่างไรครับ
Posted: Tue Mar 27, 2018 7:12 pm
by snasui

ควรบันทึก Macro แสดงการเลือกเซลล์แล้วดูผลลัพธ์ที่ได้ ดูตัวอย่างการบันทึก Macro แบบมืออาชีพได้ที่นี่ครับ
wordpress/professional-macro-recording/
Re: จะสั่งให้ Rows เป็นตัวแปรอย่างไรครับ
Posted: Tue Mar 27, 2018 7:23 pm
by yangkodza
เรื่องของเรื่อง นักเรียนแต่ละห้องจำนวนไม่เท่ากัน ผมเลยคิดว่าน่าจะ ใช้ค่าตัวแปรที่เราหาได้ มาทำการล้างข้อมูลที่ไม่ต้องการออกไปครับผม แต่ติดที่ว่า ไม่รู้จะสั่ง ตัวแปรอย่างไรให้ Rows รู้จักครับ และขอบคุณสำหรับลิงค์ความรู้ดีดี มีสาระครับผม
Re: จะสั่งให้ Rows เป็นตัวแปรอย่างไรครับ
Posted: Tue Mar 27, 2018 7:31 pm
by snasui

ควรเขียนให้ทราบว่าต้องการจะทำอะไร ข้อมูลต้นทางเป็นอย่างไร ต้องการคำตอบเป็นอย่างไร พร้อมทั้งแนบไฟล์ประกอบจะได้เข้าใจตรงกันและสะดวกในการตอบครับ
Re: จะสั่งให้ Rows เป็นตัวแปรอย่างไรครับ
Posted: Tue Mar 27, 2018 7:52 pm
by yangkodza
snasui wrote: Tue Mar 27, 2018 7:31 pm

ควรเขียนให้ทราบว่าต้องการจะทำอะไร ข้อมูลต้นทางเป็นอย่างไร ต้องการคำตอบเป็นอย่างไร พร้อมทั้งแนบไฟล์ประกอบจะได้เข้าใจตรงกันและสะดวกในการตอบครับ
ครูประจำชั้น 1-1 ต้นฉบับ.xlsm
ที่แผ่นงาน เกรดเฉลี่ย ผมได้ใช้สูตร
ผลลัพธ์ที่ได้คือ บรรทัดที่ 41 ที่เราจะเริ่มล้างเนื้อหา และล้างเนื้อหาไปจนถึงบรรทัดที่ 54 ครับ
และงาน มีหลายห้องครับ จำนวนนักเรียนไม่เท่ากันในแต่ละห้อง และอยากจะหาวิธีล้างเนื้อหาส่วนเกินของขอบเขตข้อมูลที่เราต้องการครับ
Re: จะสั่งให้ Rows เป็นตัวแปรอย่างไรครับ
Posted: Tue Mar 27, 2018 8:02 pm
by snasui

ตัวอย่าง Code ครับ
Code: Select all
Range("a" & Range("bk9").Value + 1).Resize(1000) _
.EntireRow.Clear
Re: จะสั่งให้ Rows เป็นตัวแปรอย่างไรครับ
Posted: Tue Mar 27, 2018 8:10 pm
by yangkodza
snasui wrote: Tue Mar 27, 2018 8:02 pm

ตัวอย่าง Code ครับ
Code: Select all
Range("a" & Range("bk9").Value + 1).Resize(1000) _
.EntireRow.Clear
ตัดล่างสุดได้แบบนี้ ผมเอาไปประยุกต์ใช้งานต่อได้อีกเยอะเลยครับ
ขอบคุณมากครับ
