Page 1 of 1
นำแต่ละบรรทัดให้อยู่ในบรรทัดเดียว
Posted: Tue Mar 27, 2018 10:52 am
by March201711
สอบถามค่ะ อยากทราบว่าจะเขียนสูตรอย่างไรให้อยู่ใน 3 column นี้ค่ะ
โดยปกติเวลาเขียนสูตรแล้วต้อง copyจาก column B53 ถึง D53 ไปวางไว้ที่ cell B60 ถึง D60 แบบ Paste special แต่จะติดตรงที่มีขีดล่างที่ไม่มีข้อความ ต้อง double click ที่ cell B60 มาลบทุกครั้งเลยค่ะ ต้องปรับสูตรอย่างไรบ้างคะ
Re: นำแต่ละบรรทัดให้อยู่ในบรรทัดเดียว
Posted: Tue Mar 27, 2018 7:49 pm
by snasui

B26 ปรับสูตรเป็นตามด้านล่างครับ
=IF(B3="","",B3&"_"&A3)
Enter > Copy ลงด้านล่าง
Re: นำแต่ละบรรทัดให้อยู่ในบรรทัดเดียว
Posted: Tue Mar 27, 2018 9:10 pm
by March201711
ขีดล่างหายไปแต่ก้อเป็นค่าว่าง ซึ่งไม่พอดีกับบรรทัดค่ะ ต้องเข้าไป double cilck ที่cell B60 ถึง D60 ลบค่าว่างออกให้พอดีกับบรรทัดค่ะ ตามที่แนบค่ะ
Re: นำแต่ละบรรทัดให้อยู่ในบรรทัดเดียว
Posted: Tue Mar 27, 2018 9:52 pm
by snasui

เซลล์ B53 ปรับสูตรเป็นด้านล่างครับ
=LEFT(B25&CHAR(10)&B26&CHAR(10)&B27&CHAR(10)&B28&CHAR(10)&B29&CHAR(10)&B30&CHAR(10)&B31&CHAR(10)&B32&CHAR(10)&B33&CHAR(10)&B34&CHAR(10)&B35&CHAR(10)&B36&CHAR(10)&B37&CHAR(10)&B38&CHAR(10)&B39&CHAR(10)&B40&CHAR(10)&B41&CHAR(10)&B42&CHAR(10)&B43&CHAR(10)&B44,SUMPRODUCT(LEN(B25:B44))+COUNTIF(B25:B44,"*?")-1)
Enter > Copy ไปด้านขวาจนถึง D53
Re: นำแต่ละบรรทัดให้อยู่ในบรรทัดเดียว
Posted: Tue Mar 27, 2018 10:24 pm
by March201711
ทำได้แล้วค่ะอาจารย์ ช่วยอธิบายเป็นความรู้เพื่อประยุกต์ใช้งานอื่นๆต่อไป ขอบคุณมากค่ะ

Re: นำแต่ละบรรทัดให้อยู่ในบรรทัดเดียว
Posted: Tue Mar 27, 2018 10:33 pm
by snasui

เป็นการตัดสายอักขระมาเท่าที่ต้องการจะใช้งานครับ
Left คือฟังก์ชั่นการตัดข้อความ เช่น Left(A1,4) แปลว่าตัดอักขระด้านซ้ายของ A1 มา 4 อักขระ
Len คือฟังก์ชั่นสำหรับการนับจำนวนอักขระ ถ้านับเซลล์เดียวใช้ Len(Cell) ถ้านับหลายเซลล์พร้อมกันใช้ Sumproduct(Len(Range)) เพราะ Len แข็งแรงไม่พอที่จะนับเป็นช่วง แต่การนับด้วย Len จะไม่ได้นับ Char(10) เพราะ B25:B44 ยังไม่ได้เชื่อมกับ Char(10) จึงทำให้นับขาดไปตามจำนวน Char(10) ที่ใช้
จำนวน Char(10) ที่จำเป็นต้องใช้คือตามจำนวนบรรทัดที่มีข้อมูลใน B25:B44 จึงต้องใช้ Countif(Range,"*?") มาช่วยนับว่าในช่วง B25:B44 มีกี่รายการเพื่อจะบวกเข้าไปกับ Sumproduct(Len(Range)) จากนั้นหักออกด้วย 1 เพื่อให้พอดีกับจำนวณอักขระที่ต้องตัดเนื่องจากบรรทัดสุดท้ายที่มีข้อมูลใน B25:B44 ไม่จำเป็นต้องเชื่อมกับ Chare(10) หรือนั่นคือ Char(10) ที่ใช้จะน้อยกว่าจำนวนข้อมูลใน B25:B44 อยู่ 1 รายการครับ
Re: นำแต่ละบรรทัดให้อยู่ในบรรทัดเดียว
Posted: Tue Mar 27, 2018 10:53 pm
by March201711

ขอบคุณมากค่ะอาจารย์ ได้ความรู้เพิ่มขึ้นอีกค่ะ

Re: นำแต่ละบรรทัดให้อยู่ในบรรทัดเดียว
Posted: Wed Mar 28, 2018 9:17 am
by March201711
รบกวน อาจารย์อีกนิดนึงค่ะ ถ้ามีคำว่า Local fund อยากให้ตัวอักษรเป็นสีแดงค่ะ ต้องปรับอย่างไรค่ะ
Re: นำแต่ละบรรทัดให้อยู่ในบรรทัดเดียว
Posted: Wed Mar 28, 2018 9:26 am
by logic
การใส่สีใส่ได้เป็นเซลล์ ๆ ถ้าใส่สีแค่ส่วนหนึ่งต้องเขียนโค้ด VBA มาช่วยครับ

Re: นำแต่ละบรรทัดให้อยู่ในบรรทัดเดียว
Posted: Wed Mar 28, 2018 2:37 pm
by March201711
ใช้ conditional formatting ได้ไหมคะ
Re: นำแต่ละบรรทัดให้อยู่ในบรรทัดเดียว
Posted: Wed Mar 28, 2018 4:53 pm
by logic
March201711 wrote: Wed Mar 28, 2018 2:37 pm
ใช้ conditional formatting ได้ไหมคะ
Conditional Formatting มันจะทำทั้งเซลล์ครับ
Re: นำแต่ละบรรทัดให้อยู่ในบรรทัดเดียว
Posted: Wed Mar 28, 2018 6:42 pm
by March201711
ถ้าเขียน code vba ต้องเขียนอย่างไรคะ
Re: นำแต่ละบรรทัดให้อยู่ในบรรทัดเดียว
Posted: Wed Mar 28, 2018 7:55 pm
by snasui
March201711 wrote: Wed Mar 28, 2018 6:42 pm
ถ้าเขียน code vba ต้องเขียนอย่างไรคะ

ควรศึกษาและเขียนกันมาเองก่อน ผมไม่อนุญาตให้ตอบด้วย Code หากผู้ถามไม่เขียนเป็น Code มาเองก่อน แต่สามารถตอบด้วย Link หรือแนะนำแหล่งศึกษาได้ครับ การสอบถาม VBA ต้องเป็นไปตามกฎการใช้บอร์ดข้อ 5 ด้านบน
การกำหนดรูปแบบข้อความด้วย VBA ลองดูตัวอย่างที่ Link นี้ครับ
viewtopic.php?t=6222
Re: นำแต่ละบรรทัดให้อยู่ในบรรทัดเดียว
Posted: Wed Mar 28, 2018 10:01 pm
by March201711
ขอบคุณค่ะ จะลองศึกษาดูค่ะ