: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

Stationery Record and Monitoring for charge

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: Stationery Record and Monitoring for charge

#21

Post by bank9597 »

:D ลองแนบไฟล์ตัวล่าสุด มาดูกันอีกครั้งได้ไหมครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
yukioh
Member
Member
Posts: 75
Joined: Sat Aug 21, 2010 5:52 pm

Re: Stationery Record and Monitoring for charge

#22

Post by yukioh »

Attached file..
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Stationery Record and Monitoring for charge

#23

Post by snasui »

:D คำตอบที่ถูกต้องคืออะไรและทำไมถึงต้องได้คำตอบนั้น :?: ช่วยอธิบายมาด้วยครับ
yukioh
Member
Member
Posts: 75
Joined: Sat Aug 21, 2010 5:52 pm

Re: Stationery Record and Monitoring for charge

#24

Post by yukioh »

ค้าที่ถูกต้องควนจะเป็นดั่งต่อไปนี้:
ถ้าหาก cell A5 = "AD"
B5 ควนจะทีค้า 51001
C5 ควนจะทีค้า N05
D5 ควนจะทีค้า -
E5 ควนจะทีค้า -
F5 ควนจะทีค้า -
G5 ควนจะทีค้า -
H5 ควนจะทีค้า -
I5 ควนจะทีค้า -
J5 ควนจะทีค้า -
K5 ควนจะทีค้า PS
L5 ควนจะทีค้า NF
ต่ามข้อมูนในตะราง sheet "DBASE-CODE", cell สีเขียวควนจะ show code และ cell สีเหลือง show จำนวนเงีนครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Stationery Record and Monitoring for charge

#25

Post by snasui »

:D จากไฟล์ล่าสุดที่แนบมา จะใช้สูตรตามด้านล่างไม่ได้ครับ
yukioh wrote:-และ ทำไม formula:
=LOOKUP(9.99999999999999E+307,CHOOSE({1,2},0,IF($A4<>"",LOOKUP(2,1/($A4=INDIRECT("'"&SUBSTITUTE(B$2," ","")&"'!B4:B110")),INDIRECT("'"&SUBSTITUTE(B$2," ","")&"'!L2:L110")))))

มันไม่สะแดงผนครับอาจาน?
ลองตามนี้ครับ

ที่ชีท Summary เซลล์ B5 คีย์

=INDEX(INDIRECT("'"&B$2&"'!B2:L32"),MATCH($A5,INDIRECT("'"&B$2&"'!A2:A32"),0),MATCH(B$3,INDIRECT("'"&B$2&"'!B1:L1"),0))

Enter > Copy ไปยังเซลล์ที่เกี่ยวข้อง
yukioh
Member
Member
Posts: 75
Joined: Sat Aug 21, 2010 5:52 pm

Re: Stationery Record and Monitoring for charge

#26

Post by yukioh »

ขอบคุณครับ อาจารย์
ผมได้คีย์ ใส่แล้วครับ,
มันยังมีปัญหา ตรงที่ ถ้าผม ใช้ปุ่ม " 1) Get All Data " เซลล์ B5 ถิง เซลล์ L5 จะไม่สะแดง ค้าใดใด
แต่ถ้าผม พิมเอา ตัวอย่างเช้น AD ที่ เซลล์ A5, เซลล์ B5 ถิง เซลล์ L5 ก็จะได้ผน
ไม้รู้เป็นเพราะอะไรครับ?
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Stationery Record and Monitoring for charge

#27

Post by snasui »

:D ลองปรับ Code เป็นตามด้านล่างครับ

Code: Select all

Sub Get_data_all_item() ' GET DATA FROM ALL ITEM
    Dim rSource As Variant
    Dim rTarget As Range
    Dim i As Integer, j As Integer
    
    Sheets("Summary").Range("A4:A" & Rows.Count).Clear
    rSource = Array("PEN", "DVD", "CD", "A4")
    For i = 0 To UBound(rSource)
        With Sheets(rSource(i))
            Set rTarget = Sheets("Summary").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
            j = Application.Match("Summary", .Range("B:B"), 0)
            .Range(.Range("B" & j).Offset(2, 0), .Range("B" & Rows.Count).End(xlUp)).Copy rTarget
        End With
    Next i
    With Sheets("Summary")
        .Range("A4", .Range("A" & Rows.Count).End(xlUp)) _
        = .Range("A4", .Range("A" & Rows.Count).End(xlUp)).Value
        .Range("A4", .Range("A" & Rows.Count).End(xlUp)). _
            RemoveDuplicates Columns:=1, Header:=xlNo
    End With
End Sub
yukioh
Member
Member
Posts: 75
Joined: Sat Aug 21, 2010 5:52 pm

Re: Stationery Record and Monitoring for charge

#28

Post by yukioh »

ผมได้ปรับ Code ตามที่อาจารย์ให้มาแล้วครับ มัน Work แล้วลละครับ ขอบคุณครับ อาจารย์ :thup:

ผมบออนุญาต ถามต่ออีกนะครับ
หลังจากที่ได้ข้อมูนทุกอย่างใน Summary sheet แล้ว ผมต้องกานที่จะเอาข้อมูนจาก Summary sheet มาสะหลุบ ในรูบแบบทางด้านบันชี ใน sheet "Voucher"
ผ่านมา ผมต้องคอย Copy หรีอไม่ก็ทำเป็น Link มาใสใน sheet "Voucher"
ผมได้ทำตัวอย่าง ไว้ใน sheet "Voucher" แล้วครับ, พอจะมีวิธี ที่เร็วกว่านี้ไหมครับ :?:

รบกวนบอาจารย์ ด้วยครับ..
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Stationery Record and Monitoring for charge

#29

Post by snasui »

:D ในชีท Voucher ลองตามนี้ครับ
  1. ที่เซลล์ D3 คีย์สูตร
    =INDEX(Summary!$B$4:$B$16,COUNTIF(A$3:A3,A3))
    Enter > Copy ลงด้านล่าง
  2. ที่เซลล์ E3 คีย์สูตร
    =INDEX(Summary!$M$4:$P$16,MATCH($B3,Summary!$A$4:$A$16,0),MATCH($A3,Summary!$M$3:$P$3,0))
    Enter > Copy ลงด้านล่าง
  3. ที่เซลล์ G3 คีย์สูตร
    =INDEX(Summary!$C$4:$L$16,MATCH($B3,Summary!$A$4:$A$16,0),MATCH(G$2,Summary!$C$3:$L$3,0))
    Enter > Copy ไปทางขวาและลงด้านล่าง
yukioh
Member
Member
Posts: 75
Joined: Sat Aug 21, 2010 5:52 pm

Re: Stationery Record and Monitoring for charge

#30

Post by yukioh »

ขอบคุณครับ อาจารย์
ผมได้คีย์ ใส่แล้ว, work มากครับ,

อาจารย์ครับ เนื้องจากว่า ข้อมูลในแต่ละเดือนนั้น มีมากน้อยแตกต่างกันออกไป
สมมุติว่า เดีอนนี้ อาดจะมีพะแนก AD1 เพี้มขิ้นมา แล้วเบีกใช้รายกาน "A4..etc" เพี้มขิ้นมา เราจะทำ voucher ยังไงให้มากโดย automatic ครับ ?
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Stationery Record and Monitoring for charge

#31

Post by snasui »

:D ลองทำเป็นตัวอย่างมาใหม่ครับว่าแผนกที่บอกว่าเพิ่มเข้ามานั้นเป็นอย่างไร และปัญหาที่ว่านั้นเกิดลักษณะใด จะได้เข้าใจตรงกันครับ
yukioh
Member
Member
Posts: 75
Joined: Sat Aug 21, 2010 5:52 pm

Re: Stationery Record and Monitoring for charge

#32

Post by yukioh »

อาจารย์, ผมได้เพี่มแผนกเข้าไปใน sheet "summary" แล้วครับ ผมเพี่มแผนก:
AD1 เบีกใข้ CD, DVD และ PEN
AD2 เบีกใข้ CD และ PEN
ETIP POL TUI เบีกใข้ PEN
ETIP POL POU เบีกใข้ PEN

ปัญหาที่ว่านั้น คิอเกิด จะเหันว่า Voucher จะไม่มีแผนก ดั่งที่ผมเพี่มเข้ามา
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Stationery Record and Monitoring for charge

#33

Post by snasui »

:D ลองตามนี้ครับ

ที่ชีท Voucher
  1. เซลล์ B2 คีย์สูตรเพื่อนับว่ามีจำนวนรายการเท่าใด
    =COUNTA(Summary!A4:A10000)
    Enter
  2. เซลล์ A3 คีย์สูตร
    =INDEX({"A4","CD","CASE CD","DVD","PEN"},INT((ROWS(A$3:A3)-1)/Voucher!$B$2)+1)
    Enter > Copy ลงไปด้านล่าง
  3. เซลล์ B3 คีย์สูตร
    =INDEX(Summary!$A$4:$A$10000,MOD((ROWS(A$3:A3)-1),Voucher!$B$2)+1)
    Enter > Copy ลงด้านล่าง
  4. ที่เซลล์ D3 ปรับช่วงในสูตรเพิ่มจากเดิมเป็น
    =INDEX(Summary!$B$4:$B$10000,COUNTIF(A$3:A3,A3))
    Enter > Copy ลงด้านล่าง
  5. เซลล์ E3 ปรับช่วงในสูตรเพิ่มจากเดิมเป็น
    =INDEX(Summary!$M$4:$AT$10000,MATCH($B3,Summary!$A$4:$A$10000,0),MATCH($A3,Summary!$M$3:$AT$3,0))
    Enter > Copy ลงด้านล่าง
  6. เซลล์ G3 ปรับช่วงในสูตรเพิ่มจากเดิมเป็น
    =INDEX(Summary!$C$4:$L$10000,MATCH($B3,Summary!$A$4:$A$10000,0),MATCH(G$2,Summary!$C$3:$L$3,0))
    Enter > Copy ไปด้านขวาและลงด้านล่าง
yukioh
Member
Member
Posts: 75
Joined: Sat Aug 21, 2010 5:52 pm

Re: Stationery Record and Monitoring for charge

#34

Post by yukioh »

ตรงเป๊ะเลียครับ :thup:
ขอบคุณมากครับอาจารย์ สำหรับความช่วยเหลือ,ความกรุณาของอาจารย์ และ ชื่นชมอาจารย์ :D
yukioh
Member
Member
Posts: 75
Joined: Sat Aug 21, 2010 5:52 pm

Re: Stationery Record and Monitoring for charge

#35

Post by yukioh »

อาจารย์ครับ,
ผมได้ใส่(เพี้ม) item เข้าไปทังหมดใน ปุ่ม "1) Get All Data" รู้สิกว่ามันทำงานช้ามากมากเลียครับเวลาเรากดปุ่ม
ผมลองจับเวลาดูแล้ว ประมาณ 10 นาทีครับ ไม้รู้เป็นเพระอะไร?

file attached with link below:

http://www.mediafire.com/?n9kt3hoawlfdfhg
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Stationery Record and Monitoring for charge

#36

Post by snasui »

:D ผมขออภัยที่จะไม่ดูไฟล์แนบครับ เนื่องจากผมคิดว่าผมน่าจะเดาได้จากไฟล์ที่แนบมาก่อนหน้านี้ หรือหากว่าผมเดาผิดช่วยแจ้งเข้ามาอีกรอบครับ

การหา Unique List (ค่าที่ไม่ซ้ำ) ในชีทต่าง ๆ เป็นการใช้สูตร Array และสูตร Array นั้นไม่เหมาะกับข้อมูลจำนวนมาก แทนที่จะใช้สูตร Array ให้ใช้ VBA เข้ามาช่วยแทนครับ
yukioh
Member
Member
Posts: 75
Joined: Sat Aug 21, 2010 5:52 pm

Re: Stationery Record and Monitoring for charge

#37

Post by yukioh »

รบกวน อาจารย์ครับ
ไม่รู้จะเขียน vba ยังไงครับ vba ก็ไม่ค่อยรู้มากสักเท้าไหร
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Stationery Record and Monitoring for charge

#38

Post by snasui »

:D ไม่ค่อยรู้จักก็ยังไม่ควรใช้หรือใช้เท่าที่คิดว่าเข้าใจ ปรับปรุงเองได้ครับ และหากจะช้าก็ต้องยอมรับความช้านั้นครับ
yukioh
Member
Member
Posts: 75
Joined: Sat Aug 21, 2010 5:52 pm

Re: Stationery Record and Monitoring for charge

#39

Post by yukioh »

ขอบคุณมากครับอาจารย์
Post Reply