Page 1 of 1

มีปัญหา Excell

Posted: Wed Oct 03, 2018 10:27 pm
by namotadza
เรื่องคือ ป้าใช้อ๊อปเจ็คแบบTextboxลงในชีท แล้วใช้คำสั่ง
"Sub XXX()
dim A
A = เลขแถว row
do while เอคทิพเซลล์ > " "
>ชีท2.textbox1 = ชีท1.ระยะ("a" & A)
>A = A + 1
>ชีท2.ปริ้นท์...
Loop
End sub
"

ถ้าtextboxเป็นเซลล์ มันจะรันข้อมูลมาพิมพ์ปกติ!จนครบลูป...
แต่ถ้าใช้textbox มันจะเอาข้อมูลบรรทัดแรกที่เลือกมาพิมพ์จนครบลูป...ซึ่งมันต้องเปลี่ยนตาม "ชีท1.ระยะ("a" & A)สิ!

ป้าพลาดตรงไหนคะ

Re: มีปัญหา Excell

Posted: Wed Oct 03, 2018 10:42 pm
by snasui
:D การโพสต์ Code เพื่อให้สะดวกต่อการอ่าน กรุณาดูกฎการใช้บอร์ดข้อ 5 ด้านบนครับ :roll:

นอกจากนี้ควรแนบไฟล์ตัวอย่างประกอบเพื่อจะได้ช่วยตรวจสอบให้ได้ครับ

Re: มีปัญหา Excell

Posted: Wed Oct 03, 2018 10:58 pm
by namotadza
snasui wrote: Wed Oct 03, 2018 10:42 pm :D การโพสต์ Code เพื่อให้สะดวกต่อการอ่าน กรุณาดูกฎการใช้บอร์ดข้อ 5 ด้านบนครับ :roll:

นอกจากนี้ควรแนบไฟล์ตัวอย่างประกอบเพื่อจะได้ช่วยตรวจสอบให้ได้ครับ
Sub Main11()
Dim A, B
A = ActiveCell.Row
B = 0

Do While ActiveCell.Text > ""
Sheet2.TextBox1 = Sheet1.Range("a" & A)
Sheet2.TextBox2 = Sheet1.Range("b" & A)
Sheet2.TextBox3 = Sheet1.Range("c" & A)
Sheet2.TextBox4 = Sheet1.Range("d" & A)
Sheet2.PrintPreview
A = A + 1
Sheet1.Select
Range("a" & A).Select
Loop

End Sub

การทำงานคือ เลือกเซลล์ที่ชีท1ใดๆก่อน
จากนั้นกดปุ่มสั่งรันมาร์โครMain11

สิ่งที่ต้องการคือ ทุกๆการปริ้นจะอ้างข้อมูลใหม่ตลอดRangeนั้นๆ
แต่เมื่อใช้textboxมันกลับอ้างแค่ข้อมูลแรกที่เริ่ม

ข้อสังเกตุ ลองเปลี่ยนtextboxเป็นRangeใดๆ มันจะทำงานตรงประเด็น

ทำไมต้องใช้textbox เพราะต้องการสะดวกในการย้ายให้เข้ากับตำเหน่งที่จะพิมพ์แบบง่ายๆ

Re: มีปัญหา Excell

Posted: Wed Oct 03, 2018 11:07 pm
by namotadza
snasui wrote: Wed Oct 03, 2018 10:42 pm :D การโพสต์ Code เพื่อให้สะดวกต่อการอ่าน กรุณาดูกฎการใช้บอร์ดข้อ 5 ด้านบนครับ :roll:

นอกจากนี้ควรแนบไฟล์ตัวอย่างประกอบเพื่อจะได้ช่วยตรวจสอบให้ได้ครับ
ตามไฟล์เลยค่ะ

Re: มีปัญหา Excell

Posted: Thu Oct 04, 2018 6:07 am
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

Sub Main11()
    Dim A, B
    Sheet1.Select
    Range("a1").Select
    A = ActiveCell.Row
    B = 0
    Do While ActiveCell.Text <> ""
        Sheet2.TextBox1 = Sheet1.Range("a" & A)
        Sheet2.TextBox2 = Sheet1.Range("b" & A)
        Sheet2.TextBox3 = Sheet1.Range("c" & A)
        Sheet2.TextBox4 = Sheet1.Range("d" & A)
        Sheet2.PrintPreview
        A = A + 1
'        Sheet1.Select
        Range("a" & A).Select
    Loop
End Sub
สังเกตว่า Code จะอยู่ในรูปแบบของ Code ไม่ใช่ข้อความธรรมดา วิธีการวางให้เป็น Code ดูได้ที่กฎการใช้บอร์ดข้อ 5 ด้านบนครับ :roll: หรือคลิกที่ Link นี้ครับ http://snasui.com/viewtopic.php?f=6&t=1187

Re: มีปัญหา Excell

Posted: Thu Oct 04, 2018 6:43 pm
by namotadza
snasui wrote: Thu Oct 04, 2018 6:07 am :D ตัวอย่าง Code ครับ

Code: Select all

Sub Main11()
    Dim A, B
    Sheet1.Select
    Range("a1").Select
    A = ActiveCell.Row
    B = 0
    Do While ActiveCell.Text <> ""
        Sheet2.TextBox1 = Sheet1.Range("a" & A)
        Sheet2.TextBox2 = Sheet1.Range("b" & A)
        Sheet2.TextBox3 = Sheet1.Range("c" & A)
        Sheet2.TextBox4 = Sheet1.Range("d" & A)
        Sheet2.PrintPreview
        A = A + 1
'        Sheet1.Select
        Range("a" & A).Select
    Loop
End Sub
สังเกตว่า Code จะอยู่ในรูปแบบของ Code ไม่ใช่ข้อความธรรมดา วิธีการวางให้เป็น Code ดูได้ที่กฎการใช้บอร์ดข้อ 5 ด้านบนครับ :roll: หรือคลิกที่ Link นี้ครับ http://snasui.com/viewtopic.php?f=6&t=1187
ก็แนบไฟล์แล้วนี่คะ

Re: มีปัญหา Excell

Posted: Thu Oct 04, 2018 11:58 pm
by snasui
namotadza wrote: Thu Oct 04, 2018 6:43 pm ก็แนบไฟล์แล้วนี่คะ
:D การแนบไฟล์เพื่อประโยชน์ให้เกิดความสะดวกในการช่วยตรวจสอบและไม่ต้องสร้างไฟล์ขึ้นมาเลียนแบบ ส่วนการวาง Code ให้แสดงเป็น Code เพื่อความสะดวกในการอ่านและเพื่อให้ Code แตกต่างจากข้อความปกติ ไม่มีข้อยกเว้นว่าแนบไฟล์ แนบภาพแล้วไม่ต้องปรับ Code ให้แสดงเป็น Code ในช่องความเห็นครับ