: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

Copy Sheet1 to Sheet2 ไม่เป็นแบบ Realtime

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Tanasan
Member
Member
Posts: 46
Joined: Mon May 04, 2015 10:53 am

Copy Sheet1 to Sheet2 ไม่เป็นแบบ Realtime

#1

Post by Tanasan »

คือผมต้องการทำ ให้ Sheet1 copy ไปยัง Sheet2 แบบ Realtime

เงื่อนไขคือ 1. เมื่อข้อมูลใน Sheet1 มีการเปลี่ยนแปลง Sheet2 ที่ทำการ Copy ไว้ต้องเปลี่ยนแปลงด้วย

ผมได้เขียน Code ออกมาแล้ว แต่ปรากฏว่า Sheet1 มีการเปลี่ยนแปลงข้อมุล แต่ Sheet2 ไม่มีการเปลี่ยนตาม
ต้องทำการ Run macro ทุกครั้งเลยครับ

รบกวนช่วยดู Code ให้ผมทีครับ ว่าผมเขียนผิดตรงไหนหรือป่าวครับ
Book1.xlsm
You do not have the required permissions to view the files attached to this post.
User avatar
PichaiTC
Member
Member
Posts: 19
Joined: Wed Apr 27, 2016 12:55 pm

Re: Copy Sheet1 to Sheet2 ไม่เป็นแบบ Realtime

#2

Post by PichaiTC »

ต้องวาง code ใน Sub Worksheet_Change() นะครับ จึงจะทำงานได้ทันที
Tanasan
Member
Member
Posts: 46
Joined: Mon May 04, 2015 10:53 am

Re: Copy Sheet1 to Sheet2 ไม่เป็นแบบ Realtime

#3

Post by Tanasan »

โพสผมอาจจะ พบ งง ไปหน่อย คือ
ผมจะต้องใช้เงื่อนไขในการ copy cell อีกขั้นครับ ผมจึงต้องเขียนโค๊ดขึ้นมา เพื่อนำไปใส่ใน ฟั่งชั่น IF
Tanasan
Member
Member
Posts: 46
Joined: Mon May 04, 2015 10:53 am

Re: Copy Sheet1 to Sheet2 ไม่เป็นแบบ Realtime

#4

Post by Tanasan »

PichaiTC wrote:ต้องวาง code ใน Sub Worksheet_Change() นะครับ จึงจะทำงานได้ทันที
ผมลองวางแล้วครับ
แต่มันจะมีผล ตอนเปิด excel ขึ้นมาใหม่ครับ
bank26
Member
Member
Posts: 1
Joined: Wed Jun 01, 2016 2:33 pm

สูตรการจัดอันดับคะแนนจากมากไปหาน้อย

#5

Post by bank26 »

ผมมีปัญหาในการจัดลำดับคะแนน สมมุติ มีนักเรียนในห้อง 10 คน มีคน
สอบได้10 คะแนน 3 คน
สอบได้ 9 คะแนน 4 คน
สอบได้ 8 คะแนน 3 คน
ผมลองใช้สูตร rank แล้ว ผลปรากฎว่า
คนที่สอบได้ 10 คะแนน ได้ลำดับที่ 1
คนที่สอบได้ 9 คะแนน ได้ลำดับที่ 4 (ระบบคำนวน 10 คะแนน 3 คน + 1 = 4)
คนที่สอบได้ 8 คะแนน ได้ลำดับที่ 8 (ระบบคำนวน 10 คะแนน 3 คน 9 คะแนน 4 คน +1 = 8)
ซึีงที่ต้องการอยากได้คือ
คนที่สอบได้ 10 คะแนน ได้ลำดับที่ 1
คนที่สอบได้ 9 คะแนน ได้ลำดับที่ 2
คนที่สอบได้ 8 คะนนได้ลำดับที่ 3
ไม่ทราบว่าต้องเขียนสูตรอย่างไรครับ
Tanasan
Member
Member
Posts: 46
Joined: Mon May 04, 2015 10:53 am

Re: สูตรการจัดอันดับคะแนนจากมากไปหาน้อย

#6

Post by Tanasan »

ิbank26 wrote:ผมมีปัญหาในการจัดลำดับคะแนน สมมุติ มีนักเรียนในห้อง 10 คน มีคน
สอบได้10 คะแนน 3 คน
สอบได้ 9 คะแนน 4 คน
สอบได้ 8 คะแนน 3 คน
ผมลองใช้สูตร rank แล้ว ผลปรากฎว่า
คนที่สอบได้ 10 คะแนน ได้ลำดับที่ 1
คนที่สอบได้ 9 คะแนน ได้ลำดับที่ 4 (ระบบคำนวน 10 คะแนน 3 คน + 1 = 4)
คนที่สอบได้ 8 คะแนน ได้ลำดับที่ 8 (ระบบคำนวน 10 คะแนน 3 คน 9 คะแนน 4 คน +1 = 8)
ซึีงที่ต้องการอยากได้คือ
คนที่สอบได้ 10 คะแนน ได้ลำดับที่ 1
คนที่สอบได้ 9 คะแนน ได้ลำดับที่ 2
คนที่สอบได้ 8 คะนนได้ลำดับที่ 3
ไม่ทราบว่าต้องเขียนสูตรอย่างไรครับ
ผมว่า ผิดกระทู้นะครับ อ่านกฏ ก่อนนะ
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: Copy Sheet1 to Sheet2 ไม่เป็นแบบ Realtime

#7

Post by snasui »

Tanasan wrote:โพสผมอาจจะ พบ งง ไปหน่อย คือ
ผมจะต้องใช้เงื่อนไขในการ copy cell อีกขั้นครับ ผมจึงต้องเขียนโค๊ดขึ้นมา เพื่อนำไปใส่ใน ฟั่งชั่น IF
:D นำ Code ไปวางใน Event Change ครับ

ดูภาพประกอบด้านล่างครับ
You do not have the required permissions to view the files attached to this post.
Tanasan
Member
Member
Posts: 46
Joined: Mon May 04, 2015 10:53 am

Re: Copy Sheet1 to Sheet2 ไม่เป็นแบบ Realtime

#8

Post by Tanasan »

snasui wrote:
Tanasan wrote:โพสผมอาจจะ พบ งง ไปหน่อย คือ
ผมจะต้องใช้เงื่อนไขในการ copy cell อีกขั้นครับ ผมจึงต้องเขียนโค๊ดขึ้นมา เพื่อนำไปใส่ใน ฟั่งชั่น IF
:D นำ Code ไปวางใน Event Change ครับ

ดูภาพประกอบด้านล่างครับ
ขอบคุณมากครับอาจารย์
ตอนนี้เป็นแบบ realtime เรียบร้อยแล้วครับ

ผมยังต้องศึกษาเกี่ยวกับ function Excel อีกเยอะเลยครับ
Tanasan
Member
Member
Posts: 46
Joined: Mon May 04, 2015 10:53 am

Re: Copy Sheet1 to Sheet2 ไม่เป็นแบบ Realtime

#9

Post by Tanasan »

snasui wrote:
Tanasan wrote:โพสผมอาจจะ พบ งง ไปหน่อย คือ
ผมจะต้องใช้เงื่อนไขในการ copy cell อีกขั้นครับ ผมจึงต้องเขียนโค๊ดขึ้นมา เพื่อนำไปใส่ใน ฟั่งชั่น IF
:D นำ Code ไปวางใน Event Change ครับ

ดูภาพประกอบด้านล่างครับ
เนื่องจากครั้งที่แล้วผมได้ Code Copy แบบ Realtime แล้ว
แต่ทำไม เวลาผมใส่คำสั่ง เงื่อนไขลงไปใหม่ คือ IF ปรากฏ ว่าคำสั่งไม่รันให้ครับ
เนื่องจากผมอ้างอิง value จาก ComboBox

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
If Sheet3.ComboBox4.Value = "1" Then
Worksheets("Monthly").Range("D9:D16").Value = Worksheets("record process").Range("P9:P16").Value
Worksheets("Monthly").Range("D17:D38").Value = Worksheets("record process").Range("P19:P40").Value
Worksheets("Monthly").Range("E9:E16").Value = Worksheets("record process").Range("AC9:AC16").Value
Worksheets("Monthly").Range("E17:E38").Value = Worksheets("record process").Range("AC19:AC40").Value

If Sheet3.ComboBox6.Value = "2" Then
Worksheets("Monthly").Range("G9:G6").Value = Worksheets("record process").Range("P9:P16").Value
Worksheets("Monthly").Range("G17:G38").Value = Worksheets("record process").Range("P19:P40").Value
Worksheets("Monthly").Range("H9:H16").Value = Worksheets("record process").Range("AC9:AC16").Value
Worksheets("Monthly").Range("H17:H38").Value = Worksheets("record process").Range("AC19:AC40").Value

If Sheet3.ComboBox6.Value = "3" Then
Worksheets("Monthly").Range("J9:J6").Value = Worksheets("record process").Range("P9:P16").Value
Worksheets("Monthly").Range("J17:J38").Value = Worksheets("record process").Range("P19:P40").Value
Worksheets("Monthly").Range("K9:K16").Value = Worksheets("record process").Range("AC9:AC16").Value
Worksheets("Monthly").Range("K17:K38").Value = Worksheets("record process").Range("AC19:AC40").Value
End If
End Sub

Tanasan
Member
Member
Posts: 46
Joined: Mon May 04, 2015 10:53 am

เงื่อนไข IF เพราะสาเหตุใด ถึงไม่ทำงาน

#10

Post by Tanasan »

เนื่องจากครั้งที่แล้วผมได้ Code Copy แบบ Realtime แล้ว
แต่ทำไม เวลาผมใส่คำสั่ง เงื่อนไขลงไปใหม่ คือ IF ปรากฏ ว่าคำสั่งไม่รันให้ครับ
เนื่องจากผมอ้างอิง value จาก ComboBox แต่โค๊ดก็ยังไม่ทำงานครับ
รบกวนช่วยดูให้หน่อยครับ ว่าผมตกหล่นไปตรงไหนบ้าง

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
If Sheet3.ComboBox4.Value = "1" Then
Worksheets("Monthly").Range("D9:D16").Value = Worksheets("record process").Range("P9:P16").Value
Worksheets("Monthly").Range("D17:D38").Value = Worksheets("record process").Range("P19:P40").Value
Worksheets("Monthly").Range("E9:E16").Value = Worksheets("record process").Range("AC9:AC16").Value
Worksheets("Monthly").Range("E17:E38").Value = Worksheets("record process").Range("AC19:AC40").Value

If Sheet3.ComboBox6.Value = "2" Then
Worksheets("Monthly").Range("G9:G6").Value = Worksheets("record process").Range("P9:P16").Value
Worksheets("Monthly").Range("G17:G38").Value = Worksheets("record process").Range("P19:P40").Value
Worksheets("Monthly").Range("H9:H16").Value = Worksheets("record process").Range("AC9:AC16").Value
Worksheets("Monthly").Range("H17:H38").Value = Worksheets("record process").Range("AC19:AC40").Value

If Sheet3.ComboBox6.Value = "3" Then
Worksheets("Monthly").Range("J9:J6").Value = Worksheets("record process").Range("P9:P16").Value
Worksheets("Monthly").Range("J17:J38").Value = Worksheets("record process").Range("P19:P40").Value
Worksheets("Monthly").Range("K9:K16").Value = Worksheets("record process").Range("AC9:AC16").Value
Worksheets("Monthly").Range("K17:K38").Value = Worksheets("record process").Range("AC19:AC40").Value
End If
End Sub

เนื่องจากไฟล์ Excel มีขนาดเกิน 300KB จึงต้องบีบอัดไฟล์มาให้ครับ
Copy of DATA ANDONG BOARD CL3 REV3 - Copy.rar
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: Copy Sheet1 to Sheet2 ไม่เป็นแบบ Realtime

#11

Post by snasui »

:D ทำการ Clear เซลล์ AF31 ไม่ให้คำนวณเป็นวงกลม (สังเกตบรรทัด Status Bar ด้านซ้ายล่างจอ)

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

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
    If Sheet3.ComboBox6.Value = "1" Then
        Worksheets("Monthly").Range("D9:D16").Value = Worksheets("record process").Range("P9:P16").Value
        Worksheets("Monthly").Range("D17:D38").Value = Worksheets("record process").Range("P19:P40").Value
        Worksheets("Monthly").Range("E9:E16").Value = Worksheets("record process").Range("AC9:AC16").Value
        Worksheets("Monthly").Range("E17:E38").Value = Worksheets("record process").Range("AC19:AC40").Value
        
    ElseIf Sheet3.ComboBox6.Value = "2" Then
        Worksheets("Monthly").Range("G9:G6").Value = Worksheets("record process").Range("P9:P16").Value
        Worksheets("Monthly").Range("G17:G38").Value = Worksheets("record process").Range("P19:P40").Value
        Worksheets("Monthly").Range("H9:H16").Value = Worksheets("record process").Range("AC9:AC16").Value
        Worksheets("Monthly").Range("H17:H38").Value = Worksheets("record process").Range("AC19:AC40").Value
        
    ElseIf Sheet3.ComboBox6.Value = "3" Then
        Worksheets("Monthly").Range("J9:J6").Value = Worksheets("record process").Range("P9:P16").Value
        Worksheets("Monthly").Range("J17:J38").Value = Worksheets("record process").Range("P19:P40").Value
        Worksheets("Monthly").Range("K9:K16").Value = Worksheets("record process").Range("AC9:AC16").Value
        Worksheets("Monthly").Range("K17:K38").Value = Worksheets("record process").Range("AC19:AC40").Value
    End If
End Sub
Tanasan
Member
Member
Posts: 46
Joined: Mon May 04, 2015 10:53 am

Re: Copy Sheet1 to Sheet2 ไม่เป็นแบบ Realtime

#12

Post by Tanasan »

snasui wrote::D ทำการ Clear เซลล์ AF31 ไม่ให้คำนวณเป็นวงกลม (สังเกตบรรทัด Status Bar ด้านซ้ายล่างจอ)

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

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
    If Sheet3.ComboBox6.Value = "1" Then
        Worksheets("Monthly").Range("D9:D16").Value = Worksheets("record process").Range("P9:P16").Value
        Worksheets("Monthly").Range("D17:D38").Value = Worksheets("record process").Range("P19:P40").Value
        Worksheets("Monthly").Range("E9:E16").Value = Worksheets("record process").Range("AC9:AC16").Value
        Worksheets("Monthly").Range("E17:E38").Value = Worksheets("record process").Range("AC19:AC40").Value
        
    ElseIf Sheet3.ComboBox6.Value = "2" Then
        Worksheets("Monthly").Range("G9:G6").Value = Worksheets("record process").Range("P9:P16").Value
        Worksheets("Monthly").Range("G17:G38").Value = Worksheets("record process").Range("P19:P40").Value
        Worksheets("Monthly").Range("H9:H16").Value = Worksheets("record process").Range("AC9:AC16").Value
        Worksheets("Monthly").Range("H17:H38").Value = Worksheets("record process").Range("AC19:AC40").Value
        
    ElseIf Sheet3.ComboBox6.Value = "3" Then
        Worksheets("Monthly").Range("J9:J6").Value = Worksheets("record process").Range("P9:P16").Value
        Worksheets("Monthly").Range("J17:J38").Value = Worksheets("record process").Range("P19:P40").Value
        Worksheets("Monthly").Range("K9:K16").Value = Worksheets("record process").Range("AC9:AC16").Value
        Worksheets("Monthly").Range("K17:K38").Value = Worksheets("record process").Range("AC19:AC40").Value
    End If
End Sub
เห็นแล้วครับ ขอบคุณมากครับ
ผมลองทำการทดสอบด้วยการลบออก คำสั่ง copy ถึงจะทำงานครับ
แต่ต้องลบทุกครั้งที่สั่งให้ copy

ขั้นตอนแรกผมทำการ Delete Cell "AF" ออกทั้งหมด ก็ยังไม่หายต้องมาทำการลบอีกด้วยการกด
ผมจึงน้ำ โค๊ด

Code: Select all

Sheet3.Range("AE7:AE40").clear
ไปวางใน Loop IF ทดลองแล้วก็ไม่ได้
ไปวางใน Openworkbook ก็ไม่ได้ ผมต้องไปวางตรงไหนหรอครับ เพื่อจะให้คำสั่ง ตรงตามเงื่อนไข แล้วออกมาตามเงื่อนไข if
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: Copy Sheet1 to Sheet2 ไม่เป็นแบบ Realtime

#13

Post by snasui »

:D ไม่เข้าใจครับ

หากลบการคำนวณเป็นวงกลมออกแล้ว Code ควรจะทำงานได้ หากยังไม่ได้ให้แนบไฟล์ล่าสุดมา จะได้ช่วยตรวจสอบได้ ต้องทำเช่นนี้ทุกครั้งที่ติดปัญหาอย่าโพสต์มาเฉพาะ Code ครับ
Tanasan
Member
Member
Posts: 46
Joined: Mon May 04, 2015 10:53 am

Re: Copy Sheet1 to Sheet2 ไม่เป็นแบบ Realtime

#14

Post by Tanasan »

snasui wrote::D ไม่เข้าใจครับ

หากลบการคำนวณเป็นวงกลมออกแล้ว Code ควรจะทำงานได้ หากยังไม่ได้ให้แนบไฟล์ล่าสุดมา จะได้ช่วยตรวจสอบได้ ต้องทำเช่นนี้ทุกครั้งที่ติดปัญหาอย่าโพสต์มาเฉพาะ Code ครับ
เมื่อผมเลือกวันที่ใน ComboBox เสร็จแล้ว คำสั่งCopy จะไม่ทำงานครับ
ผมลองทำการทดสอบด้วยการลบออกที่ Cell AE7:AE40 และ AF7:AF40 คำสั่ง copy ถึงจะทำงานครับ
แต่ต้องลบทุกครั้งที่เลือกวันที่ ใน ComboBox

ผมจึงทำการเขียน Code

Code: Select all

Sheet3.Range("AE7:AE40").clear
(ตามไฟล์แนบ)
เพื่อให้ Clear Cell AE7:AE40 และ AF7:AF40 ทั้งหมด แต่ก็ยัง Clear ออกไม่ได้ ต้องกลับมาลบเองคำสั่งถึงจะทำงานครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: Copy Sheet1 to Sheet2 ไม่เป็นแบบ Realtime

#15

Post by snasui »

:D โพสต์ไว้แล้วแค่รอคำตอบครับ

ผู้ตอบจะตอบเองเมื่อทราบวิธี หรือเมื่อผมมีเวลาและไม่ติดเทศกาลที่ต้องหยุดยาวก็จะเข้ามาตอบให้ทุกคำถาม สังเกตได้ว่าในฟอรัมนี้ไม่มีกระทู้ร้างแม้แต่กระทู้เดียวครับ

ห้ามโพสต์ซ้ำ ๆ โดยไม่จำเป็น ยกเว้นมีการปรับปรุงแก้ไขหรือเปลี่ยนเงื่อนไข ที่โพสต์มาผมลบทิ้งไปแล้วครับ

จากการตรวจสอบไฟล์ที่แนบมานั้นยังมีการคำนวณเป็นวงกลม สังเกตได้ที่มุมซ้ายล่างจอ ยังติดคำว่า Circular references แสดงว่ายังมีปัญหาที่ชีตอื่น ให้ Unhide แล้วลบเซลล์ที่คำนวณเป็นวงกลมทิ้งให้หมดแล้วทดสอบดูใหม่ครับ
Tanasan
Member
Member
Posts: 46
Joined: Mon May 04, 2015 10:53 am

Re: Copy Sheet1 to Sheet2 ไม่เป็นแบบ Realtime

#16

Post by Tanasan »

ขอโทษครับอาจารย์

จากที่ผมได้ตรวจสอบไฟล์ เกี่ยวกับ Circular references นั้น
ผมได้ทำการสร้างไฟล์ Excel ขึ้นมาใหม่ แล้วทำการเขียนโค๊ดลงไป
พบว่า ปัญหาดังกล่าวนั้น เหมือนกับไฟล์เอกสารที่แนบไปก่อนหน้านี้เช่นกันครับ

ดังตัวอย่างไฟล์แนบเอกสาร ที่ทำขึ้นใหม่ ก็ไม่เป็นอาการเช่นเดิมคือ
เมื่อทำการเลือก ข้อมูลใน combobox ต้องทำการคลิกเลือก Cell อื่นแล้วกดปุ่ม Delete ถึงจะทำงานตาม เงื่อนไขครับอาจารย์
You do not have the required permissions to view the files attached to this post.
User avatar
logic
Gold
Gold
Posts: 1510
Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365

Re: Copy Sheet1 to Sheet2 ไม่เป็นแบบ Realtime

#17

Post by logic »

ถ้าเปลี่ยนค่าใน combobox แล้วให้โค้ดทำงานเลย อันนี้เป็น combobox change แล้วครับ ไม่ใช่ worksheet change ตอนแรกยังเข้าใจว่าเลือก combobox แล้วเปลี่ยนค่าในเซลล์ก่อนแล้วโค้ดค่อยทำงานครับ :|
You do not have the required permissions to view the files attached to this post.
Tanasan
Member
Member
Posts: 46
Joined: Mon May 04, 2015 10:53 am

Re: Copy Sheet1 to Sheet2 ไม่เป็นแบบ Realtime

#18

Post by Tanasan »

logic wrote:ถ้าเปลี่ยนค่าใน combobox แล้วให้โค้ดทำงานเลย อันนี้เป็น combobox change แล้วครับ ไม่ใช่ worksheet change ตอนแรกยังเข้าใจว่าเลือก combobox แล้วเปลี่ยนค่าในเซลล์ก่อนแล้วโค้ดค่อยทำงานครับ :|
ขอบคุณนะครับ
แต่ถ้าเปลี่ยนตรง ComboBox Change แล้ว ข้อมูลที่มีการเปลี่ยนแปลงภายหลัง จะไม่มีการอัพเดทแบบ Realtime เลยครับ
ไม่ทราบว่า พอจะมีวิธีไหมครับ คิดมา 2 วันแล้วครับ ยังไม่ออกเลย
User avatar
logic
Gold
Gold
Posts: 1510
Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365

Re: Copy Sheet1 to Sheet2 ไม่เป็นแบบ Realtime

#19

Post by logic »

สรุปคือต้องการให้ทำงาน 2 แบบ คือ คลิก combo แล้วโค้ดทำงาน หรืออีกไม่ก็ทำงานเมื่อเปลี่ยนค่าในเซลล์

แบบนี้ก็ต้องมีทั้งสองอันคือ worksheet_change กับ combobox_change ครับ
Tanasan
Member
Member
Posts: 46
Joined: Mon May 04, 2015 10:53 am

Re: Copy Sheet1 to Sheet2 ไม่เป็นแบบ Realtime

#20

Post by Tanasan »

logic wrote:สรุปคือต้องการให้ทำงาน 2 แบบ คือ คลิก combo แล้วโค้ดทำงาน หรืออีกไม่ก็ทำงานเมื่อเปลี่ยนค่าในเซลล์

แบบนี้ก็ต้องมีทั้งสองอันคือ worksheet_change กับ combobox_change ครับ
ใช่ครับ ให้ทำสองอย่างในเวลาเดียวกันเลยครับ
ถ้ามี 2 อัน เป็นจะดึงมาใช้อย่างไร หรอครับ ผมลองทำเป็น module ก็ไม่ได้เหมือนกันครับ
ช่วยแนะนำผมหน่อยครับ รบกวนพี่ด้วยครับ
Post Reply