Page 1 of 1
ต้องการออกจาก for...to ตามเงื่อนไข
Posted: Wed Sep 02, 2015 4:11 pm
by adamjensen
ผมมีปัญหาเรื่อง VBA ครับ
ผมต้องการจักเรียงข้อมูลคำศัพท์ โดยต้องตรวจสอบว่าคำศัพท์นั้น มีซ้ำหรือไม่ ถ้ามี ให้เก็บตัวอย่างการใช้(example) คำแปล และ นับจำนวนคำซ้ำนั้นๆ
แต่ผมต้องการให้ตัวcode พบว่าด้วยตัวมันเองด้วยว่า "ได้มีการพบศัพท์คำนี้เเล้ว ไม่ต้องนำมาจัดเรียงใหม่" ผมลองใช้คำสั่ง "exit for " แต่ มันก็ยังไม่ออก loop ครับ รบกวนช่วยหาข้อผิดพลาดให้ผมด้วยครับ

Re: ต้องการออกจาก for...to ตามเงื่อนไข
Posted: Wed Sep 02, 2015 5:07 pm
by DhitiBank
ลองแนบไฟล์ตัวอย่าง พร้อมอธิบายมาพอสังเขปครับ เช่น ความต้องการเป็นอย่างไร โค้ดในโมดูลไหนมีปัญหาที่บรรทัดไหน ฯลฯ อาจารย์และเพื่อนๆ จะได้ช่วยทดสอบให้ได้ครับ ตามกฎการใช้บอร์ดด้านบนครับ
Re: ต้องการออกจาก for...to ตามเงื่อนไข
Posted: Wed Sep 02, 2015 8:30 pm
by adamjensen
ผมสมาชิกใหม่ ถ้าทำผิดกฏอะไร ต้องขอโทษด้วยนะครับ
ตัวอย่าง excel ครับ
http://www.4shared.com/file/0jUj7bviba/ ... VBA-1.html
Re: ต้องการออกจาก for...to ตามเงื่อนไข
Posted: Wed Sep 02, 2015 8:57 pm
by snasui

ช่วยแนบไฟล์มาที่ฟอรัม ตัดมาเฉพาะที่เป็นปัญหา ขนาดไฟล์ต้องไม่เกิน 300kb ครับ
Re: ต้องการออกจาก for...to ตามเงื่อนไข
Posted: Thu Sep 03, 2015 9:51 am
by snasui

ปัญหาที่เป็นที่จะเกิดกับบางท่านหากแนบ Link ภาพมาจากที่อื่นครับ

Re: ต้องการออกจาก for...to ตามเงื่อนไข
Posted: Thu Sep 03, 2015 10:07 am
by adamjensen
ขอโทษด้วยครับ เป็นสมาชิกใหม่
รบกวนด้วยครับ
KPI vocabulary 2015VBA-1.xlsm
excel problem2.JPG
excel problem.JPG
Re: ต้องการออกจาก for...to ตามเงื่อนไข
Posted: Thu Sep 03, 2015 10:22 am
by adamjensen
Re: ต้องการออกจาก for...to ตามเงื่อนไข
Posted: Thu Sep 03, 2015 10:47 am
by snasui

ผมลอง Run แล้วพบกว่าออกจาก Loop ได้ปกติ ลองแจ้งข้อสังเกตมาเพิ่มเติมหรือให้ตัวอย่างเพิ่มเติมว่ากรณีใดที่ควรออกจาก Loop แต่โปรแกรมไม่ออกจาก Loop มาอีกครั้งครับ
Re: ต้องการออกจาก for...to ตามเงื่อนไข
Posted: Thu Sep 03, 2015 11:50 am
by adamjensen
ผมต้องการให้โปรแกรมเก็บคำศัพท์จากsheet1 โดยต้องการให้โปรแกรมตรวจด้วยว่า"ได้มีการเก็บคำศัพท์คำนี้แล้วในsheet2 และไม่ต้องเก็บอีก"
loop if ที่ผมวงไว้ จุดประสงค์คือให้ตรวจคำศัพท์ที่ถุกเก็บในsheet2 ว่ามีคำศัพท์ซ้ำหรือไม่ ถ้าซ้ำ ให้ออกจากloop เเล้วเพิ่มค่า i1 เพื่อไปเก็บคำศํพท์คำใหม่จากsheet1ต่อไปครับ
excel problem5.JPG
Re: ต้องการออกจาก for...to ตามเงื่อนไข
Posted: Thu Sep 03, 2015 3:42 pm
by snasui

ผม Run Code ตามที่ให้มาแล้วไม่ได้คำตอบตามที่คุณ adamjensen แจ้งมา ไม่ทราบว่ามีขั้นตอนการทดสอบอย่างไรจึงจะได้คำตอบตามที่ทำเครื่องหมายเส้นประไว้ครับ
ด้านล่างนี้คือการ Loop อีกแบบหนึ่ง ลองปรับใช้ดูครับ
Code: Select all
Sub test0()
Dim rall As Range, r As Range
Dim rtargetAll As Range, rtarget As Range
Set rtargetAll = Sheets(2).Range("a:a")
With Sheets(1)
Set rall = .Range("c6", .Range("c" & .Rows.Count).End(xlUp))
For Each r In rall
If Application.CountIf(rtargetAll, r) = 0 Then
With Sheets(2).Range("a" & Rows.Count).End(xlUp).Offset(1, 0)
.Value = r.Value
.Offset(0, 1).Value = r.Offset(0, 1).Value
.Offset(0, 2).Value = r.Offset(0, 2).Value
.Offset(0, 3).Value = r.Offset(0, 3).Value
End With
End If
Next r
End With
End Sub
Re: ต้องการออกจาก for...to ตามเงื่อนไข
Posted: Fri Sep 04, 2015 10:00 am
by bank9597
ถ้าเกิดว่าผู้ถาม อธิบายสิ่งที่อยากทำได้อย่างชัดเจน เช่นว่า ข้อมูลจากชีทใดไปชีทใด คอลัมน์ไหน เซลล์ใด เงื่อนไขอย่างไรและตัวอย่างคำตอบที่ต้องการ ปัญหานี้จะถูกแก้ได้ในครั้งเดียวที่มีผู้เข้ามาตอบครับ
สิ่งที่ยากสำหรับผู้ตอบคือ การที่ต้องเดาความต้องการของผู้ถามนั่นเอง