snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
nukrob
Member
Posts: 60 Joined: Tue May 24, 2011 2:32 pm
#1
Post
by nukrob » Fri Jul 22, 2011 2:05 pm
ถ้าผมจะรวมข้อมูลของที่อยู่ในที่นี้ซึ่งมันแยกกันอยู่คนละแถวให้มาอยู่ในแถวเดียวกันหรือแยกมาเป็นอีกคอลัมน์ภายในแถวเดียวกัน...เนื่องจากต้องการนำข้อมูลไปทำเป็น mail merge มีเครื่องมือไหนพอจะใช้ได้บ้างครับ
You do not have the required permissions to view the files attached to this post.
Last edited by
nukrob on Fri Jul 22, 2011 2:15 pm, edited 1 time in total.
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#2
Post
by snasui » Fri Jul 22, 2011 2:13 pm
ลองส่งไฟล์ตัวอย่างมาดูครับ
nukrob
Member
Posts: 60 Joined: Tue May 24, 2011 2:32 pm
#3
Post
by nukrob » Fri Jul 22, 2011 2:16 pm
แนบมาแล้วครับโพสผิดๆถูกๆขออภัยด้วยครับ
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#4
Post
by snasui » Fri Jul 22, 2011 2:42 pm
ผมเขียนฟังก์ชั่น MCONC มาช่วยในการเชื่อมข้อความตามด้านล่าง โดยได้นำมาใช้ร่วมกับฟังก์ชั่นปกติที่ Excel ให้มา ดูไฟล์แนบประกอบครับ
Code: Select all
Function MCONC$(Range As Range)
Dim r As Range
Dim i As Integer
Dim a() As Variant
For Each r In Range
i = i + 1
ReDim Preserve a(i - 1)
a(i - 1) = r
Next r
MCONC = Join(a, " ")
End Function
You do not have the required permissions to view the files attached to this post.
nukrob
Member
Posts: 60 Joined: Tue May 24, 2011 2:32 pm
#5
Post
by nukrob » Fri Jul 22, 2011 3:11 pm
เปิดมาตรงคอลัมน์ D หัวเป็น Adress ผลลัพธ์มันขึ้นว่า #NAME? ครับ
nukrob
Member
Posts: 60 Joined: Tue May 24, 2011 2:32 pm
#7
Post
by nukrob » Fri Jul 22, 2011 3:24 pm
เห็นผลลัพธ์แล้วครับ.....ไฟล์ที่ให้อาจารย์ดูทำนั้นเป็นบางส่วนของข้อมูลครับถ้าจะนำมาประยุกต์กับไฟล์ที่เหลือจะสามารถทำได้ไหมครับ...
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#8
Post
by snasui » Fri Jul 22, 2011 3:27 pm
ทำได้แน่นอนครับ แก้ไขช่วงเซลล์ในสูตรให้เป็นช่วงเซลล์จริงครับ
nukrob
Member
Posts: 60 Joined: Tue May 24, 2011 2:32 pm
#9
Post
by nukrob » Fri Jul 22, 2011 3:42 pm
ผมลอง coppy ไฟล์จากที่อาจารย์ทำมาวางในไฟล์เดียวกันที่ส่งไปผล...ในคอลัมน์ C แสดงผลลัพธ์เหมือนที่อาจารย์สอนแต่ ในคอลัมน์ D ผลมันแสดงออกมาเป็น #NAME? อีกแล้วครับไปเซต Enable ตรงอนุญาตให้ใช้มาโครแล้ว ในไฟล์Join Tex-1 ก็แสดงผลได้แล้ว แต่พอ Coppy สูตรมาทำใหม่ทำไมเป็นยังงั้นได้ครับ...
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#10
Post
by snasui » Fri Jul 22, 2011 3:46 pm
อ่านแล้วไม่เข้าใจครับ
สูตรที่ผมสร้างด้วย VBA นี้ จะมีผลกับไฟล์นี้เท่านั้นครับ ให้นำข้อมูลจริงมาใช้กับไฟล์นี้ครับ
nukrob
Member
Posts: 60 Joined: Tue May 24, 2011 2:32 pm
#11
Post
by nukrob » Fri Jul 22, 2011 4:12 pm
คือไฟล์จริงๆมันจะมีรูปแบบไม่แน่นอนตายตัวคล้ายๆแบบนี้ครับอาจารย์...ผมต้องแกะสูตรและเปลี่ยนสูตรตรงไหนบ้างครับ
หรือต้องปรับให้มันเป็นรูปคอลัมน์เท่าๆกันก่อนหรือเปล่าครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#12
Post
by snasui » Fri Jul 22, 2011 4:25 pm
ใช้สูตรเหมือนเดิมทุกอย่าง เพียงแต่เปลี่ยนการอ้างอิง กรณีทำในไฟล์ใหม่ให้ Copy VBA ไปด้วย
ดูตัวอย่างการปรับปรุงการอ้างอิงในสูตรตามไฟล์แนบครับ
You do not have the required permissions to view the files attached to this post.
nukrob
Member
Posts: 60 Joined: Tue May 24, 2011 2:32 pm
#13
Post
by nukrob » Fri Jul 22, 2011 6:13 pm
อาจารย์อย่าหาว่าโง่เลยนะครับ....ไป copy VBA ตรงไหนครับ^^
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#14
Post
by snasui » Fri Jul 22, 2011 6:19 pm
เปิดไฟล์ Mconc2 แล้วกดแป้น Alt+F11 จะเปิดหน้าต่าง
VBE มาให้ Code VBA จะอยู่ใน Module1 ครับ
nukrob
Member
Posts: 60 Joined: Tue May 24, 2011 2:32 pm
#15
Post
by nukrob » Fri Jul 22, 2011 6:36 pm
ขอลองก่อนนะครับถือว่าเรียนรู้นะครับอาจารย์...
nukrob
Member
Posts: 60 Joined: Tue May 24, 2011 2:32 pm
#16
Post
by nukrob » Fri Jul 22, 2011 10:45 pm
กำลังทำอยู่ยังไม่เจอปัญหาอันใดครับ...
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#17
Post
by snasui » Sat Jul 23, 2011 7:34 am
ทำจบแล้วแจ้งผลด้วยนะครับ
nukrob
Member
Posts: 60 Joined: Tue May 24, 2011 2:32 pm
#18
Post
by nukrob » Sat Jul 23, 2011 2:27 pm
ลองเอามาแกะสูตรแล้วทำกับไฟล์อื่นๆรวมถึงได้Ccopy สูตร VBA ที่อาจารย์ให้ไปวางกับไฟล์อื่น ได้ผลดีครับ ขอบคุณสำหรับการแบ่งปันความรู้ครับ...