: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
🪷 คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ

เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่

Post a reply


This question is a means of preventing automated form submissions by spambots.
Smilies
:D :thup: :cp: :flw: :rz: :sg: :tt: :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :ard: :arl: :aru: :| :mrgreen: :geek: :ugeek:

BBCode is ON
[img] is ON
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#49

by bank9597 » Tue Nov 29, 2011 5:26 pm

:D วิธีการของผมคือ จะบันทึกข้อมูลไปกี่ที่ ผมก็จะทำชีท Temp เท่านั้น ครับ จัดรูปแบบข้อมูลให้พร้อมที่จะบันทึกในแต่ล่ะชีทไปครับ

:D แต่หากขอคำปรึกษาจากอาจารย์ น่าจะมีวิธีที่รวบยอดมากกว่าของผมครับ :D

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#48

by suka » Tue Nov 29, 2011 4:39 pm

มีข้อสงสัยเรื่องทำ Template ค่ะ
หากจำไม่ผิดเคยอ่านโพสต์ของอาจารย์ ไฟล์ที่ใช้ VBA ควรทำชีท Template เพื่อจัดข้อมูลให้เป็นระเบียบ
เพราะการใช้ VBA อาจมีการ Copy ข้อมูลไปไว้หลายที่ หรือจะไม่มีชีท Template ก็ได้ ประมาณนี้ค่ะ
(หรือหากจำผิดต้องขออภัยอาจารย์ค่ะ พยายามจะหาอ่านทวนก็จำไม่ได้อ่านจากกระทู้ไหนค่ะ)
ดังนั้นตัวอย่างไฟล์ของกระทู้นี้จึงขอลองทำแบบไม่มีชีท Template ค่ะ
bank9597 wrote::D น่าจะลองสร้างชีท Temp มาเพิ่มน่ะครับ เพื่อจัดระเบียบข้อมูล ทำให้แก้โค๊ดได้ง่ายและส้นกว่า

ลองดูที่ไฟล์แนบน่ะครับ
ต้องขอขอบคุณ คุณ bank9597 ค่ะ

ขอสงสัยคือหากทำชีท Template ควรทำ 1 Template ต่อ 1 ฐานข้อมูล หรือสามารถใช้ 1 Template ต่อ หลายฐานข้อมูล
ลองส่งไฟล์ต้วอย่างการทำชีท Template 2 แบบมาให้อาจารย์ช่วยแนะนำการออกแบบชีท Template ที่ดีควรจะเป็นแบบใดค่ะ
Code นี้ของชีท Template

Code: Select all

Sub PasteData()
    Application.ScreenUpdating = False
    Sheets("Template").Range("B2:K2").Copy
    Sheets("Database").Range("A65536").End(xlUp).Offset(1, 0) _
        .PasteSpecial xlPasteValues
    Sheets("Template").Range("C2:D2").Copy
    Sheets("Paid").Range("B" & Rows.Count).End(xlUp) _
        .Offset(1, 0).PasteSpecial xlPasteValues
    Sheets("Template").Range("G2").Copy
    Sheets("Paid").Range("D" & Rows.Count).End(xlUp) _
        .Offset(1, 0).PasteSpecial xlPasteValues
    Sheets("Template").Range("I2").Copy
    Sheets("Paid").Range("E" & Rows.Count).End(xlUp) _
        .Offset(1, 0).PasteSpecial xlPasteValues
    Sheets("Form").Range("C2,F2,H2:J2").ClearContents
    With Sheets("Form")
        .Range("B2") = .Range("B2") + 1
        .Range("B3") = .Range("B3") + 1
    End With
    Sheets("Paid").Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = _
        Sheets("Form").Range("B3")
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub
Code นี้ของชีท Sheet2 แนบมากับไฟล์ตัวอย่างค่ะ

Code: Select all

Sub PasteData()
    Application.ScreenUpdating = False
    Sheets("Sheet2").Range("A2:J2").Copy
    Sheets("Database").Range("A65536").End(xlUp).Offset(1, 0) _
        .PasteSpecial xlPasteValues
    Sheets("Sheet2").Range("K2:O2").Copy
    Sheets("Paid").Range("A65536").End(xlUp).Offset(1, 0) _
        .PasteSpecial xlPasteValues
    Sheets("Form").Range("C2,F2,H2:J2").ClearContents
    With Sheets("Form")
         .Range("B2") = .Range("B2") + 1
        .Range("B3") = .Range("B3") + 1
    End With
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub
Attachments
บันทึกการจ่ายเช็ค.Template.xls
(107.5 KiB) Downloaded 4 times

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#47

by bank9597 » Sat Nov 26, 2011 12:45 pm

:D น่าจะลองสร้างชีท Temp มาเพิ่มน่ะครับ เพื่อจัดระเบียบข้อมูล ทำให้แก้โค๊ดได้ง่ายและส้นกว่า

ลองดูที่ไฟล์แนบน่ะครับ
Attachments
บันทึกการจ่ายเช็ค.Code1.xlsm
(58.55 KiB) Downloaded 9 times

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#46

by suka » Sat Nov 26, 2011 12:25 pm

อาจารย์คะ Copy ได้ตรงตามต้องการแล้วค่ะ
ขอบพระคุณมากๆค่ะ
bank9597 wrote::D น่าจะสร้างชีท Temp จัดระเบียบข้อมูลก่อน จะได้ง่ายในการส้รางโค๊ด :D
ขอบคุณค่ะ

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#45

by bank9597 » Fri Nov 25, 2011 8:37 pm

:D น่าจะสร้างชีท Temp จัดระเบียบข้อมูลก่อน จะได้ง่ายในการส้รางโค๊ด :D

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#44

by snasui » Fri Nov 25, 2011 8:02 pm

:D ลองดูตัวอย่างการปรับ Code ตามด้านล่างครับ

Code: Select all

Sub PasteData()
    Application.ScreenUpdating = False
    Sheets("Form").Range("A2:J2").Copy
    Sheets("Database").Range("A65536").End(xlUp).Offset(1, 0) _
        .PasteSpecial xlPasteValues
    Sheets("Form").Range("B2:C2").Copy
    Sheets("Paid").Range("B" & Rows.Count).End(xlUp) _
        .Offset(1, 0).PasteSpecial xlPasteValues
    Sheets("Form").Range("F2").Copy
    Sheets("Paid").Range("D" & Rows.Count).End(xlUp) _
        .Offset(1, 0).PasteSpecial xlPasteValues
    Sheets("Form").Range("H2").Copy
    Sheets("Paid").Range("E" & Rows.Count).End(xlUp) _
        .Offset(1, 0).PasteSpecial xlPasteValues
    Sheets("Form").Range("C2,F2,H2:J2").ClearContents
    With Sheets("Form")
        .Range("B2") = .Range("B2") + 1
        .Range("B3") = .Range("B3") + 1
    End With
    Sheets("Paid").Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = _
        Sheets("Form").Range("B3")
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#43

by suka » Fri Nov 25, 2011 7:17 pm

อาจารย์คะ ขอรบกวนเรื่องปรับ Code เซลล์ B3 ของชีท Form เมือกดปุ่มบันทึกต้องการให้ Copy ไปต่อท้ายข้อมูลที่เซลล์ A2 ของชีท Paid ค่ะ
Code ด้านล่างนี้อยู่ Module1 ชื่อ PasteData Codeนี้ Copy ไปจุดอื่นๆได้ตามต้องการแล้ว แต่จะถูกหลักการเขียนโค๊ดหรือไม่อย่างไร ขอรบกวนอาจารย์ด้วยนะคะ

Code: Select all

Sub PasteData()
Dim rSource As Range
Dim rTarget As Range
Set rSource = Worksheets("Form").Range("A2:J2")
Set rTarget = Worksheets("Database").Range("A65536").End(xlUp).Offset(1, 0)
    rSource.Copy
    rTarget.PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    Set rSource = Worksheets("Form").Range("B2:C2")
    Set rTarget = Worksheets("Paid").Range("B" & Rows.Count).End(xlUp) _
    .Offset(1, 0)
    rSource.Copy
    rTarget.PasteSpecial xlPasteValues
    Set rSource = Worksheets("Form").Range("F2")
    Set rTarget = Worksheets("Paid").Range("D" & Rows.Count).End(xlUp) _
        .Offset(1, 0)
    rSource.Copy
    rTarget.PasteSpecial xlPasteValues
    Set rSource = Worksheets("Form").Range("H2")
    Set rTarget = Worksheets("Paid").Range("E" & Rows.Count).End(xlUp) _
        .Offset(1, 0)
    rSource.Copy
    rTarget.PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    Sheets("Form").Range("C2,F2,H2:J2").ClearContents
    With Worksheets("Form")
        .Range("B2") = .Range("B2") + 1
    End With
    Application.ScreenUpdating = True
    With Worksheets("Form")
        .Range("B3") = .Range("B3") + 1
    End With
    Application.ScreenUpdating = True
End Sub

ขอบคุณค่ะ
Attachments
บันทึกการจ่ายเช็ค.Code.rar
(29.53 KiB) Downloaded 7 times

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#42

by suka » Fri Oct 07, 2011 8:33 am

อาจารย์คะ
ทำได้ใช้งานได้แล้วค่ะ ก่อนหน้านี้ไม่ได้เพราะวาง Code ไม่ครบค่ะ
ขอบคุณมากค่ะ

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#41

by snasui » Thu Oct 06, 2011 6:55 pm

:D ลองทำมาดูก่อนครับ แล้วส่งไฟล์นั้นมาให้เพื่อน ๆ ช่วยกันดูหากว่าทำแล้วยังไม่ได้ตามต้องการครับ

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#40

by suka » Thu Oct 06, 2011 5:38 pm

ขอรบกวนอีกรอบค่ะ หากต้องการ Add Calendar ไปใช้เพิ่มอีกชีท
สมมุติว่าใช้ที่ เซลล์ A2 และ เซลล์ B2 ของชีท Test ต้องปรับโค๊ดอย่างไรคะ
ขอบคุณค่ะ

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#39

by suka » Fri Sep 30, 2011 10:33 pm

สามารถใช้งานได้แล้วค่ะ ขอบคุณค่ะคุณ joo
ดีใจค่ะได้รับความช่วยเหลือเอื้อเฟื้อ แบ่งปันความรู้ขอบคุณมากๆค่ะ

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#38

by joo » Fri Sep 30, 2011 9:16 pm

ลองปรับโค๊ดเป็นแบบนี้ดูครับ :D

Code: Select all

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If (Target.Address = "$C$2" Or _
Target.Address = "$M$2") Then
    With ActiveSheet.Calendar1
    .Visible = True
    .Top = ActiveCell.Offset(0, 0).Top
    .Left = ActiveCell.Offset(0, 1).Left
    End With
Else
    ActiveSheet.Calendar1.Visible = False
End If
Application.EnableEvents = True
End Sub

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#37

by suka » Fri Sep 30, 2011 5:39 pm

อาจารย์คะ
ที่ชีท Form ได้ Add Calendar มาไว้ที่เซลล์ C2 ใช้งานได้ แต่ Add Calendar มาที่เซลล์ M2 ของชีท Form อันหลังนี้
ไม่สามารถปรับ Code ให้ใช้งานได้ มาขอรบกวนอาจารย์ช่วยปรับ Code ให้น่ะค่ะ

ขอบคุณค่ะ
Attachments
บันทึกการจ่ายเช็ค.xls
(90 KiB) Downloaded 6 times

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#36

by suka » Fri Sep 30, 2011 9:43 am

อาจารย์คะ สามารถทำเคลียร์ให้เป็นฟอร์มว่างได้แล้วค่ะ

ขอบพระคุณมากๆค่ะ

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#35

by snasui » Thu Sep 29, 2011 9:28 pm

:D ดูตัวอย่างจาก Link เหล่านี้แล้วลองปรับปรุง Code มาดูครับ :arrow: Clear contents

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#34

by suka » Thu Sep 29, 2011 9:22 pm

อาจารย์คะ Code สั่งพิมพ์และป้องกันการพิมพ์ซ้ำใช้งานได้แล้วค่ะ

มาขอรบกวนเพิ่มค่ะ
ที่ชีท Form ได้ใส่ Code ให้บันทึกไปที่ชีท Databaseได้แล้ว มาขออาจารย์ช่วยตรวจให้ด้วยค่ะ
อีกเรื่องหลังบันทึกเสร็จแล้ว จะเคลียร์ให้เป็นฟอร์มว่างทำไม่ได้ค่ะ ขออาจารย์ช่วยเพิ่ม Code ให้ค่ะ

ขอบคุณค่ะ
Attachments
บันทึกการจ่ายเช็ค.xls
(75 KiB) Downloaded 4 times

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#33

by snasui » Thu Sep 29, 2011 6:25 pm

:D ลองดู Code ด้านล่างครับ

Code: Select all

Sub SetPrintAreaBeforePrint()
Dim lng As Long
Dim r As Range
Dim i As Integer
On Error Resume Next
lng = Rows.Count
Set r = Sheets("Sheet2").Range("B3")
With Sheets("Database")
    i = Application.Match(r, .Range("B:B"), 0)
    If .Range("K" & i) = "Y" Then
        MsgBox "Your cheque alreay printed."
        Exit Sub
    End If
End With
Sheets("AY").Range("A1:M10").PrintOut
Sheets("Database").Range("K" & i) = "Y"
MsgBox "Finish."
End Sub

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#32

by suka » Thu Sep 29, 2011 2:23 pm

อาจารย์คะ สำหรับให้โปรแกรมรู้ว่าพิมพ์แล้วใช้ เซลล์ K2 ที่ชีท Database ค่ะ
และชีท Form สำหรับกรอกข้อมูลไปไว้ที่ชีท Database ค่ะ

ขอบคุณค่ะ
Attachments
บันทึกการจ่ายเช็ค.xls
(69 KiB) Downloaded 9 times

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#31

by snasui » Wed Sep 28, 2011 10:47 pm

:D ต้องการพิมพ์พื้นที่ไหนถึงไหนครับ ได้ออกแบบฐานข้อมูลไว้ให้แล้วยัง ถ้าออกแบบไว้แล้วอยู่ที่ชีทใดช่วยแจ้งด้วยครับ

Re: เซลล์ที่มีสูตรจะจัดการรูปแบบตามเงื่อนไขได้อย่างไรคะ

#30

by suka » Wed Sep 28, 2011 10:27 pm

ที่คุณ Logic โพสต์นั้นถูกต้องแล้วครับ เมื่อมีการพิมพ์แล้วก็ต้องเก็บข้อมูลไว้เพื่อจะตรวจสอบได้ว่าพิมพ์แล้วหรือยังไมพิมพ์ การเก็บข้อมูลอัตโนมัติคงต้องพึ่ง VBA และเช่นเคยครับ ถ้าจะใช้ VBA ก็เขียนมาก่อน ติดตรงไหนก็มาถามกันต่อครับ
อาจารย์คะ มาขอรบกวนอีกแล้วค่ะ

ที่ชีท AY ได้ทำปุ่ม Print Area พร้อมลองใส่ Code เพื่อให้พิมพ์ได้แล้วค่ะ
หากจะขอให้อาจารย์ช่วยเพิ่ม Code เมื่อกดปุ่ม Print Area ให้ระบบพิมพ์พร้อมเก็บข้อมูลที่พิมพ์ไว้ในฐานข้อมูลด้วยจะได้ไหมคะ

ขอบตุณค่ะ
Attachments
บันทึกการจ่ายเช็ค.xls
(65.5 KiB) Downloaded 4 times

Top