สวัสดีครับอาจารย์
ใกล้จะจบหน้า Report แล้วครับ
มีเรื่องสอบถามอาจารย์สักสองประเด็นนะครับ
ผมใช้ For Next เพื่อสั่งพิมพ์จดหมายถึงลูกค้าตามจำนวนลูกค้าในรายงาน
โดยมีการกำหนดชื่อเซล AA4=Total=COUNTA(Report!A2:A30000), กำหนดเซลชื่อ AB4 = Choice
และกำหนดที่ AA5= INDEX(Report!A2:A30000,Choice,1)
ประเด็นที่1. ก็คือว่า ผมต้องการระบุช่วงเซลเป็น AA5= INDEX(Report!A:A,Choice,1) เพราะกลัวข้อมูลบางสาขาจะมากกว่าที่กำหนดไว้
จะทำอย่างไรครับให้ INDEX ที่แถวแรกสุดเริ่มต้นที่ 0 ไม่ใช่ 1
ประเด็นที่2.จาก Code คำสั่ง
Code: Select all
Private Sub Mail()
Dim lng As Long, rs As Range, rt As Range
Dim Inx As Long, ry As Range, ro As Range
If Label17.Caption <> "FileC" Then
Exit Sub
End If
Application.ScreenUpdating = False
On Error Resume Next
i = InputBox(Message, "กำหนดลำดับเริ่มต้นที่ท่านต้องการ", Default, 11500, 7000)
Total = InputBox(Message, "กำหนดลำดับสุดท้าย", Default, 11500, 7000)
For i = i To [Total]
[Choice] = i
Sheet15.Range("A1").Value = Sheet18.Range("AB5").Value
With Worksheets("FileA")
On Error Resume Next
lng = Application.Match(Sheet15.Range("A1"), .Range("A:A"), 0)
Set rs = .Range("A" & lng).Resize(, 21)
Set rt = Sheet15.Range("A3")
End With
rs.Copy: rt.PasteSpecial xlPasteValues
Application.CutCopyMode = False
Rep.Rep
Sheet20.Range("D5").Value = Sheet15.Range("G29").Value
Sheet20.Range("D7").Value = Sheet15.Range("G30").Value
Sheet20.Range("D9").Value = Sheet15.Range("G31").Value
Sheet20.Range("D11").Value = Sheet15.Range("G32").Value
Sheet20.Range("D13").Value = Sheet15.Range("G33").Value
If [Choice] = 0 Then
Exit Sub
Else
Sheet20.PrintOut
End If
Next i
End Sub
ในกรณีที่กำหนดชื่อที่ Cell อย่างนี้เช่น Total , Choice ,i
เราต้องหรือควรจะประกาศตัวแปรอีกหรือไม่ อย่างไร
Code: Select all
i = InputBox(Message, "กำหนดลำดับเริ่มต้นที่ท่านต้องการ", Default, 11500, 7000)
Total = InputBox(Message, "กำหนดลำดับสุดท้าย", Default, 11500, 7000)
จากคำสั่งข้างต้น ผมต้องกำหนด ตัวเลข 11500,7000 เพื่อกำหนดตำแหน่งของ inputBox (ซึ่งต้องนั่งไล่จาก 100 และดูผลของการแสดงตำแหน่ง)
การเขียนที่ถูกต้องเพื่อกำหนดให้ InPutBox อยู่ในตำแหน่งกลางหน้าจอ Center ทำอย่างไรครับ?
คำสั่งข้างต้นใช้ได้ผลครับ แต่ที่สอบถามเพื่อเข้าใจเรื่องของการประกาศตัวแปรและการเขียนที่ถูกต้องครับ
ขอบพระคุณครับ
