PDA

View Full Version : ปรึกษาเรื่องการพิมพ์ใบเสร็จรับเงินให้รันนัมเบอร์ครับ



tamnavy
11 Jun 2007, 14:45
คือผมมีงานด่วนได้รับมอบหมายมาครับ แต่ว่าผมไม่ค่อยมีความรู้ด้าน VB สักเท่าไหร่ จึงหาดูจากฟอรั่มต่างๆ เอาตัวอย่างที่อาจารย์สมเกียรติมาแกะเอาทีละนิดก็ยังไม่ค่อยเข้าใจครับ แต่พอจะทำได้บ้างแล้ว ตอนนี้ที่ผมทำไม่ได้คือ 1.พอเวลาผมทำอยู่ที่บ้าน Module ทุกตัว รันได้หมดครับ แต่พอเอามาทำที่ทำงาน กลับมีปัญหาทุกตัวเลยครับ พอจะทราบมั้ยครับ ว่าเป็นเพราะเหตุใดครับ 2.ผมมีตัวอย่างในฟอรั่มนี้ที่รันนัมเบอร์แต่ในตัวอย่างต้องกดทุกครั้งถึงจะรันครับ ผมจึงเปลี่ยนให้กดแค่ครั้งเดียวทุกคนก็พิมพ์ออกมาหมด พอผมกดปุ่มพิมพ์ใบเสร็จทั้งหมด ผมอยากจะให้มันรันนัมเบอร์เลขที่ใบเสร็จเท่าจำนวนของผู้เช่าทั้งหมดครับ แต่มันรันแค่พอเรากดปุ่มครั้งเดียวเท่านั้นเองครับ ก็คือผู้เช่าทั้ง 26 คนก็จะมีเลขใบเสร็จเหมือนกันหมด พอกดอีกทีเลขที่ก็จะรันเพิ่มไปอีก 1 แค่นั้นเองครับ ต้องเขียนโค๊ดยังงัยดีครับ และรบกวนผู้มีความรู้ลองช่วยดูโค๊ดให้ผมทีครับ ว่ามันผิดตรงไหน ผมก็ทำตามแบบอาจารย์เปี๊ยบเลยครับ รบกวนด้วยนะครับ ขอบคุณมากๆครับ

สมเกียรติ
11 Jun 2007, 16:24
For i = 1 To LastCustomer
Range("YourChoice") = i
Calculate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Next i
Range("YourChoice") = 1
Sheet4.Range("H3") = Sheet4.Range("H3") + 1 'รหัสผิดครับ เขียนอย่างนี้ผิดหลักการ


สมมติว่าตั้งชื่อเซลล์ที่เป็นเลขที่ใบเสร็จว่า RCNum
เราต้องการให้ทุกครั้งที่พิมพ์ออกไปแล้ว เลขใน RCNum เพิ่มทีละ 1 ใช่ไหมครับ ดังนั้นคำสั่งเพิ่มเลขนี้ต้องอยู่ใน For-next loop

แก้รหัสข้างต้นเป็น


For i = 1 To LastCustomer
[YourChoice] = i
[RCNum] = [RCNum] + 1
Calculate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Next i
[YourChoice] = 1


แทนที่จะเขียน Range("ชื่อ range") ให้เขียนสั้นๆแบบ evaluate ว่า [ชื่อ range]

หมายเหตุ คราวต่อไปพยายามเขียนเว้นย่อหน้าบ่อยๆ จะได้อ่านง่ายขึ้น และพยายามสร้างแฟ้มใหม่เองตั้งแต่ต้นด้วยความเข้าใจ ที่ลอกแฟ้มตัวอย่างของผมไปใช้ ขอให้ทำเพื่อช่วยให้เรียนรู้ได้ว่า แต่ละส่วนทำงานอย่างไร แต่เวลาใช้จริงควรสร้างใหม่เองนะครับ

tamnavy
11 Jun 2007, 20:41
ขอบพระคุณมากครับอาจารย์ ทำได้แล้วครับ ว่าแต่ผมรบกวนถามอาจารย์นิดนึงครับว่าไฟล์ที่แนบไปนั้นเปิดในเครื่องของอาจารย์แล้วมีปัญหาอะไรหรือเปล่าครับ เปิดที่ทำงานผมมันขึ้นคอมพลายเออเรอครับ ใครเปิดแล้วมีปัญหาบ้างครับ แล้วนาฬิกาที่ใส่ไว้เดินได้ปกติหรือเปล่าครับ ขอบคุณครับ