: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 8 times

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

#47

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

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

ลองดูที่ไฟล์แนบน่ะครับ
Attachments
บันทึกการจ่ายเช็ค.Code1.xlsm
(58.55 KiB) Downloaded 13 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 11 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 11 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 8 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 13 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 8 times

Top