:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

อยากให้แสดงสถานะข้ามชีท

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
taotakkheuwan
Member
Member
Posts: 27
Joined: Fri Jan 18, 2013 12:49 pm

อยากให้แสดงสถานะข้ามชีท

#1

Post by taotakkheuwan »

อยากให้ชีทที่ 3 ดึงข้อมูลจากชีทที่ 1 ทั้งหมด แบบอัตโนมัติถึงแม้ชีืทที่ 1 จะมึข้อมูลเพิ่ม หรือ ลด ก็ตาม แล้วให้คอลัมส์ G ในชีทที่ 3 แสดงสถานะ คีย์แล้ว ในคอลัมส์ A ชีทที่ 1 แต่ถ้ายังไม่ได้คีย์ให้แสดงว่า ยังไม่คีย์ ครับ
You do not have the required permissions to view the files attached to this post.
joo
Gold
Gold
Posts: 1213
Joined: Sat Apr 17, 2010 3:50 pm

Re: อยากให้แสดงสถานะข้ามชีท

#2

Post by joo »

taotakkheuwan wrote:อยากให้ชีทที่ 3 ดึงข้อมูลจากชีทที่ 1 ทั้งหมด แบบอัตโนมัติถึงแม้ชีืทที่ 1 จะมึข้อมูลเพิ่ม หรือ ลด ก็ตาม แล้วให้คอลัมส์ G ในชีทที่ 3 แสดงสถานะ คีย์แล้ว ในคอลัมส์ A ชีทที่ 1 แต่ถ้ายังไม่ได้คีย์ให้แสดงว่า ยังไม่คีย์ ครับ
:D ต้องการให้ดึงข้อมูลมาแสดงด้วยเงื่อนไขใดครับ
taotakkheuwan
Member
Member
Posts: 27
Joined: Fri Jan 18, 2013 12:49 pm

Re: อยากให้แสดงสถานะข้ามชีท

#3

Post by taotakkheuwan »

joo wrote:
taotakkheuwan wrote:อยากให้ชีทที่ 3 ดึงข้อมูลจากชีทที่ 1 ทั้งหมด แบบอัตโนมัติถึงแม้ชีืทที่ 1 จะมึข้อมูลเพิ่ม หรือ ลด ก็ตาม แล้วให้คอลัมส์ G ในชีทที่ 3 แสดงสถานะ คีย์แล้ว ในคอลัมส์ A ชีทที่ 1 แต่ถ้ายังไม่ได้คีย์ให้แสดงว่า ยังไม่คีย์ ครับ
:D ต้องการให้ดึงข้อมูลมาแสดงด้วยเงื่อนไขใดครับ
เอาไว้ตรวจสอบว่ามีข้อมูลตัวใดบ้างที่ยังไม่ได้คีย์ในชีทที่ 2 ครับ โดยไม่ต้องการให้แสดงในชีทที่ 1 ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: อยากให้แสดงสถานะข้ามชีท

#4

Post by snasui »

:D ดูเหมือนว่าต้องการตรวจสอบข้อมูลใน Sheet3 กับ Sheet2 หากพบว่ามี ID ที่ตรงกันให้แสดงคำว่า คีย์แล้วใน คอลัมน์ G ของ Sheet3

โดยข้อมูลของ Sheet3 เป็นการ Copy มาจาก Sheet1

สำหรับการ Copy หากต้องการให้เป็นอัตโนมัติสามารถใช้ Macro หรือ VBA เข้ามาช่วยซึ่งต้องเขียนมาเองก่อน ติดตรงไหนค่อยถามกันครับ

ส่วนการตรวจสอบสามารถทำได้โดย

ใน Sheet3 เซลล์ G4 คี์ยสูตร

=IF(COUNTIF(sheet2!$B:$B,A4)>0,"คีย์แล้ว","ยังไม่คีย์")

Enter > Copy ลงด้านล่าง
taotakkheuwan
Member
Member
Posts: 27
Joined: Fri Jan 18, 2013 12:49 pm

Re: อยากให้แสดงสถานะข้ามชีท

#5

Post by taotakkheuwan »

snasui wrote::D ดูเหมือนว่าต้องการตรวจสอบข้อมูลใน Sheet3 กับ Sheet2 หากพบว่ามี ID ที่ตรงกันให้แสดงคำว่า คีย์แล้วใน คอลัมน์ G ของ Sheet3

โดยข้อมูลของ Sheet3 เป็นการ Copy มาจาก Sheet1

สำหรับการ Copy หากต้องการให้เป็นอัตโนมัติสามารถใช้ Macro หรือ VBA เข้ามาช่วยซึ่งต้องเขียนมาเองก่อน ติดตรงไหนค่อยถามกันครับ

ส่วนการตรวจสอบสามารถทำได้โดย

ใน Sheet3 เซลล์ G4 คี์ยสูตร

=IF(COUNTIF(sheet2!$B:$B,A4)>0,"คีย์แล้ว","ยังไม่คีย์")

Enter > Copy ลงด้านล่าง
ต่ออีกครับ
ให้ตัวหนังสือคนล่ะสีครับ และให้เป็นค่าว่างขึ้นอยู่กับข้อมูลในคอลัมส์ B ด้วยครับ ตอนนี้มันโชว์หมดเลยครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: อยากให้แสดงสถานะข้ามชีท

#6

Post by snasui »

taotakkheuwan wrote:ให้ตัวหนังสือคนล่ะสีครับ และให้เป็นค่าว่างขึ้นอยู่กับข้อมูลในคอลัมส์ B ด้วยครับ ตอนนี้มันโชว์หมดเลยครับ
:D ช่วยแนบตัวอย่างปัญหาและตัวอย่างคำตอบที่ต้องการมาด้วยเพื่อจะได้เข้าใจตรงกันว่ามีเงื่อนไขและต้องการคำตอบเป็นอย่างไร

สิ่งที่ต้องทราบในเบื้องต้นคือ Excel ไม่มีฟังก์ชั่นสำหรับค้นหาตามสี หากจะใข้จะต้องใข้ฟังก์ชั่นพิเศษที่เรียกว่า Excel 4 Macro Function เข้ามาช่วย โดยต้องเปิดการใข้งาน Macro เอาไว้ด้วยจึงจะใช้งานไฟล์นั้นได้ เพราะถือเสมือนว่าเป็นไฟล์ที่มี Macro
taotakkheuwan
Member
Member
Posts: 27
Joined: Fri Jan 18, 2013 12:49 pm

Re: อยากให้แสดงสถานะข้ามชีท

#7

Post by taotakkheuwan »

snasui wrote:
taotakkheuwan wrote:ให้ตัวหนังสือคนล่ะสีครับ และให้เป็นค่าว่างขึ้นอยู่กับข้อมูลในคอลัมส์ B ด้วยครับ ตอนนี้มันโชว์หมดเลยครับ
:D ช่วยแนบตัวอย่างปัญหาและตัวอย่างคำตอบที่ต้องการมาด้วยเพื่อจะได้เข้าใจตรงกันว่ามีเงื่อนไขและต้องการคำตอบเป็นอย่างไร

สิ่งที่ต้องทราบในเบื้องต้นคือ Excel ไม่มีฟังก์ชั่นสำหรับค้นหาตามสี หากจะใข้จะต้องใข้ฟังก์ชั่นพิเศษที่เรียกว่า Excel 4 Macro Function เข้ามาช่วย โดยต้องเปิดการใข้งาน Macro เอาไว้ด้วยจึงจะใช้งานไฟล์นั้นได้ เพราะถือเสมือนว่าเป็นไฟล์ที่มี Macro
ไฟล์เดิมครับ
ผมไม่ค่อยมีความรู้ทางด้านนี้ครับ แต่พอจะนำไปประยุกต์ใช้ได้ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: อยากให้แสดงสถานะข้ามชีท

#8

Post by snasui »

:D ตามที่ต้องการนั้นผมเข้าใจว่า ถ้าผลลัพธ์เป็น ยังไม่คีย์ ให้แสดงเป็นสีแดง หากเป็นลักษณะนี้สามารถใช้ Conditional Formatting เข้าไปจัดการได้ โดย
  1. คลิกที่ G4 ของ Sheet3
  2. เข้าเมนู Home > Conditional Formatting > Manage Rules > New Rule
  3. ตรง Select Rule Type: เลือก Format only ells that contain
  4. ตรง Format only cells with: เลือก Cells Value ช่องถัดมาเลือก equal to ช่องถัดมาคีย์ ยังไม่คีย์
  5. คลิกปุ่ม Format กำหนดค่าตามต้องการ > OK > OK
  6. ตรง Applies to เปลี่ยนเป็นช่วงข้อมูลที่ต้องการเช่น G4:G100 > Apply > OK
taotakkheuwan
Member
Member
Posts: 27
Joined: Fri Jan 18, 2013 12:49 pm

Re: อยากให้แสดงสถานะข้ามชีท

#9

Post by taotakkheuwan »

snasui wrote::D ตามที่ต้องการนั้นผมเข้าใจว่า ถ้าผลลัพธ์เป็น ยังไม่คีย์ ให้แสดงเป็นสีแดง หากเป็นลักษณะนี้สามารถใช้ Conditional Formatting เข้าไปจัดการได้ โดย
  1. คลิกที่ G4 ของ Sheet3
  2. เข้าเมนู Home > Conditional Formatting > Manage Rules > New Rule
  3. ตรง Select Rule Type: เลือก Format only ells that contain
  4. ตรง Format only cells with: เลือก Cells Value ช่องถัดมาเลือก equal to ช่องถัดมาคีย์ ยังไม่คีย์
  5. คลิกปุ่ม Format กำหนดค่าตามต้องการ > OK > OK
  6. ตรง Applies to เปลี่ยนเป็นช่วงข้อมูลที่ต้องการเช่น G4:G100 > Apply > OK
ผมใช้ V.2007 ครับ แต่ก็ทำได้แล้วครับในส่วนนี้
แต่อยากให้มันเป็นค่าว่างนะครับเวลาเราก๊อปปี้มันลงมาถ้าเราไม่รู้แถวสุดท้ายของมันครับ มันแสดงหมดเลย อยากให้มันแสดงเฉพาะเมือมีข้อมูลใน คอลัมส์ B เกิดขึ้นก่อนครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: อยากให้แสดงสถานะข้ามชีท

#10

Post by snasui »

:D จากสูตรเดิม

=IF(COUNTIF(sheet2!$B:$B,A4)>0,"คีย์แล้ว","ยังไม่คีย์")

ปรับเป็นด้านล่างครับ

=If(A4="","",IF(COUNTIF(sheet2!$B:$B,A4)>0,"คีย์แล้ว","ยังไม่คีย์"))

หมายถึง หาก A4 เป็นค่าว่างก็ให้แสดงค่าว่าง ถ้าหากไม่ว่างก็ให้แสดงผลของสูตร IF(COUNTIF(sheet2!$B:$B,A4)>0,"คีย์แล้ว","ยังไม่คีย์")

ฟังก์ชั่นพวกนี้เป็นพื้นฐานควรศึกษาให้เข้าใจครับ
taotakkheuwan
Member
Member
Posts: 27
Joined: Fri Jan 18, 2013 12:49 pm

Re: อยากให้แสดงสถานะข้ามชีท

#11

Post by taotakkheuwan »

snasui wrote::D จากสูตรเดิม

=IF(COUNTIF(sheet2!$B:$B,A4)>0,"คีย์แล้ว","ยังไม่คีย์")

ปรับเป็นด้านล่างครับ

=If(A4="","",IF(COUNTIF(sheet2!$B:$B,A4)>0,"คีย์แล้ว","ยังไม่คีย์"))

หมายถึง หาก A4 เป็นค่าว่างก็ให้แสดงค่าว่าง ถ้าหากไม่ว่างก็ให้แสดงผลของสูตร IF(COUNTIF(sheet2!$B:$B,A4)>0,"คีย์แล้ว","ยังไม่คีย์")

ฟังก์ชั่นพวกนี้เป็นพื้นฐานควรศึกษาให้เข้าใจครับ
ขอบคุณครับ
Post Reply