Page 1 of 1
สอบถามความหมายของ คำสั้ง Cell ใน vb ครับ
Posted: Fri Nov 02, 2018 9:06 am
by titus
สอบถามความหมายของ คำสั้ง Cell ใน vb ครับ
พอดีต้องแก้สูตรของ คน เก่าที่เขียนไว้
Cells(9 + rwIndex, 3).Select
ตัว rwIndex เป็นตัวแปรที่รับ ค่า เป็นตัวเลข ถ้า ค่า rwIndex = 0
ค่าสูตรจะได้ Cells(9 , 3).Select
ตำแหน่ง 9 คือ คอลัม ที่ 9 แถว ที่ 3 ใช่ไหม ครับ
Re: สอบถามความหมายของ คำสั้ง Cell ใน vb ครับ
Posted: Fri Nov 02, 2018 10:17 am
by OnliezU
ค่าสูตรตามที่คุณเขียน Cells(9 , 3).Select จะอ่านเป็น เลือกเซลล์ใน (แถวที่ 9 ,คอลัมน์ที่ 3) ครับ
ถ้า default เลยก็จะเลือกเซลล์ที่ "C9" ครับ
อ้างอิงด้วยภาพเพิ่มเติมครับ
1150.jpg
Re: สอบถามความหมายของ คำสั้ง Cell ใน vb ครับ
Posted: Fri Nov 02, 2018 10:47 am
by titus
OnliezU wrote: Fri Nov 02, 2018 10:17 am
ค่าสูตรตามที่คุณเขียน Cells(9 , 3).Select จะอ่านเป็น เลือกเซลล์ใน (แถวที่ 9 ,คอลัมน์ที่ 3) ครับ
ถ้า default เลยก็จะเลือกเซลล์ที่ "C9" ครับ
อ้างอิงด้วยภาพเพิ่มเติมครับ
1150.jpg
ขอบคุณครับ
Re: สอบถามความหมายของ คำสั้ง Cell ใน vb ครับ
Posted: Fri Nov 02, 2018 11:08 am
by titus
titus wrote: Fri Nov 02, 2018 10:47 am
OnliezU wrote: Fri Nov 02, 2018 10:17 am
ค่าสูตรตามที่คุณเขียน Cells(9 , 3).Select จะอ่านเป็น เลือกเซลล์ใน (แถวที่ 9 ,คอลัมน์ที่ 3) ครับ
ถ้า default เลยก็จะเลือกเซลล์ที่ "C9" ครับ
อ้างอิงด้วยภาพเพิ่มเติมครับ
1150.jpg
ขอบคุณครับ
สอบถามเพิ่มเติมหน่อยครับ
Selection.AutoFill Destination:=Range(Chr(65) & Chr(68) & Trim(153) & ":" & Chr(65) & Chr(68) & Trim(153 + (qtyDate * 104) - 1)), Type:=xlFillDefault
คำสั่ง Selection.AutoFill Destination:=Range(.....), Type:=xlFillDefault คือคำสั่งลากสูตรมาตามช่องที่กำหนดใช่รึไม่ครับ
Re: สอบถามความหมายของ คำสั้ง Cell ใน vb ครับ
Posted: Fri Nov 02, 2018 11:53 am
by OnliezU
titus wrote: Fri Nov 02, 2018 11:08 am
สอบถามเพิ่มเติมหน่อยครับ
Selection.AutoFill Destination:=Range(Chr(65) & Chr(68) & Trim(153) & ":" & Chr(65) & Chr(68) & Trim(153 + (qtyDate * 104) - 1)), Type:=xlFillDefault
คำสั่ง Selection.AutoFill Destination:=Range(.....), Type:=xlFillDefault คือคำสั่งลากสูตรมาตามช่องที่กำหนดใช่รึไม่ครับ
ตามที่ผมเข้าใจ น่าจะเป็นคำสั่งผู้เขียนที่ต้องการนำข้อมูลจากที่ใดที่หนึ่งมาลงใน Range(......) โดยใช้ format เดียวกัน
ซึ่งผมคิดว่าแนบไฟล์มาด้วยจะดีกว่านะครับ อีกหลายๆ คนจะได้ช่วยเหลือได้ครับ
https://docs.microsoft.com/en-us/office ... e.autofill << อ้างอิงคำสั่ง autofill
Re: สอบถามความหมายของ คำสั้ง Cell ใน vb ครับ
Posted: Fri Nov 02, 2018 1:35 pm
by titus
OnliezU wrote: Fri Nov 02, 2018 11:53 am
titus wrote: Fri Nov 02, 2018 11:08 am
สอบถามเพิ่มเติมหน่อยครับ
Selection.AutoFill Destination:=Range(Chr(65) & Chr(68) & Trim(153) & ":" & Chr(65) & Chr(68) & Trim(153 + (qtyDate * 104) - 1)), Type:=xlFillDefault
คำสั่ง Selection.AutoFill Destination:=Range(.....), Type:=xlFillDefault คือคำสั่งลากสูตรมาตามช่องที่กำหนดใช่รึไม่ครับ
ตามที่ผมเข้าใจ น่าจะเป็นคำสั่งผู้เขียนที่ต้องการนำข้อมูลจากที่ใดที่หนึ่งมาลงใน Range(......) โดยใช้ format เดียวกัน
ซึ่งผมคิดว่าแนบไฟล์มาด้วยจะดีกว่านะครับ อีกหลายๆ คนจะได้ช่วยเหลือได้ครับ
https://docs.microsoft.com/en-us/office ... e.autofill << อ้างอิงคำสั่ง autofill
ได้ ครับ อาจจะไม่ละเอียดเท่าไร ผมพยามศึกษาสูตรที่คนเก่าเขียนไว้อยู่อาจจะมีพลาดบางครับ ไฟล์เก่ามีขนาดใหญ่มาก
Re: สอบถามความหมายของ คำสั้ง Cell ใน vb ครับ
Posted: Sat Nov 03, 2018 10:43 am
by snasui
ไฟล์ที่แนบมาต้องการจะทำอะไร ปัญหาคืออะไร ต้องการคำตอบเป็นอย่างไร กรุณาอธิบายมาด้วยพอสังเขปในช่องความเห็นนี้ด้วยครับ
Re: สอบถามความหมายของ คำสั้ง Cell ใน vb ครับ
Posted: Sat Nov 03, 2018 11:55 am
by titus
snasui wrote: Sat Nov 03, 2018 10:43 am
ไฟล์ที่แนบมาต้องการจะทำอะไร ปัญหาคืออะไร ต้องการคำตอบเป็นอย่างไร กรุณาอธิบายมาด้วยพอสังเขปในช่องความเห็นนี้ด้วยครับ
คือในไฟล์ ต้องการเพิ่มเครื่องจาก 13 เครื่อง เป็น 18 เครื่องครับ
แล้วจะมีการลบช่องออก 3 ช่อง แล้วเพิ่ม ช่อง อีก1 ช่อง ด้าน หลัง และแก้ตัวหาร และเพิ่มสูตรอีก มันค่อนข้างจะสับสนครับ
ผมเลยอยากขอความหมายของสูตร มาพยามแก้ปัญหาเองจะดีกว่าครับ ที่ผมแนบไฟล์มาเพื่อเพื่อนๆ จะได้เข้าไป ดู ไฟล์ต้นฉับบ ว่าคนเขียนชุดก่อน เค้าต้องการอะไร
อย่างเช่น ตอนนี้ ผมติดคำสั่ง
Code: Select all
Selection.AutoFill Destination:=Range(Chr(65) & Chr(68) & Trim(153) & ":" & Chr(65) & Chr(68) & Trim(153 + (qtyDate * 104) - 1)), Type:=xlFillDefault
ผมอยากรู้ทีมาที่ไป ครับ ว่า คำสั่งSelection.AutoFill Destinationสั่งให้ทำอะไรในช่อง AD153:AD880
คือ จากการลอง กด F8 รันคำสั่งดู เหมือนว่าจะสั่ง ให้ copy ค่าใน Cell AD153 ลงมาใช่รึปล่าวครับ
อาจจะถามบ่อยหน่อยครับอาจารย์
Re: สอบถามความหมายของ คำสั้ง Cell ใน vb ครับ
Posted: Sat Nov 03, 2018 12:12 pm
by snasui
เป็นการคัดลอกสูตรจาก AD153 ลงไปด้านล่างครับ
Chr(65) คือ A
Chr(68) คือ D
Trim(153) คือเลข 153
Code พวกนี้ควรเขียนเสียใหม่ให้ง่ายต่อการทำความเข้าใจ เช่น
Code: Select all
Range("AD153").AutoFill Destination:=Range("AD153").Resize(qtyDate * 104), Type:=xlFillDefault
เป็นต้น
Re: สอบถามความหมายของ คำสั้ง Cell ใน vb ครับ
Posted: Sat Nov 03, 2018 5:25 pm
by titus
snasui wrote: Sat Nov 03, 2018 12:12 pm
เป็นการคัดลอกสูตรจาก AD153 ลงไปด้านล่างครับ
Chr(65) คือ A
Chr(68) คือ D
Trim(153) คือเลข 153
Code พวกนี้ควรเขียนเสียใหม่ให้ง่ายต่อการทำความเข้าใจ เช่น
Code: Select all
Range("AD153").AutoFill Destination:=Range("AD153").Resize(qtyDate * 104), Type:=xlFillDefault
เป็นต้น
ใช่ครับ อ่านยากมาก T T ขอบคุณครับ อาจารย์
Re: สอบถามความหมายของ คำสั้ง Cell ใน vb ครับ
Posted: Tue Nov 06, 2018 11:51 am
by titus
สอบถามสูตรตัวนี้หน่อยครับ
Range(Chr(65) & Trim(151) & ":" & Chr(66) & Trim(153 + (qtyDate * 104) - 1)).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"A7:B140"), Unique:=True
จะเขียน rezize ไปไปแทน แต่ตัวหน้าไม่เหมือนกันจะต้องเขียนยังไงครับ
ผมเขียนได้ประมาณนี้ ถูกไหมครับ
Range("A151":"B").Resize(qtyDate * 104 - 1).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"A7:B140"), Unique:=True
Re: สอบถามความหมายของ คำสั้ง Cell ใน vb ครับ
Posted: Tue Nov 06, 2018 2:01 pm
by puriwutpokin
ลองปรับตรงนี้ดูครับ
Code: Select all
Range("A151").offset(0,1).Resize(qtyDate * 104 - 1)