Macro Oh easy
25/05/2022
🙂ขอมาก็จัดไปครัช !
“พี่รับสอน VBA รึเปล่าคะ” ข้อความสั้น ๆ เตือนขึ้นมาในโทรศัพท์ของผม
ผม : “ครับ รับสอนครับ”
DM: "พี่คะ อยากให้ข้อมูลส่วนใหญ่จะกระจายอยู่หลายๆไฟล์ เเล้วหนูจะคอยนำมาสรุปอ่ะค่ะ หรือ บางที ต้อง cross check ว่า ข้อมูลของ file A กับ B ที่คนละคนกรอกมันตรงกันไหม สามารถใช้ VBA มาใช้กับงานได้ไหมคะ"
ผม : “ได้ครับ พอจะมีพื้นฐาน VBA ไหมครับ”
DM: “ไม่มีเลยคะ แต่อยากนำ VBA ไปใช้กับงานอะคะ”
ผม : “งั้นช่วยอธิบายสิ่งที่ต้องการประยุกต์กับงานหรือถ้ามีตัวอย่างให้ก็จะดีมากเลยครับ พี่จะได้จัดเนื้อหาสำหรับนำไปในการสอนให้เอาไปประยุกต์ใช้งานได้ครับ”
DM: “ได้คะ หนูส่งสิ่งที่อยากได้ให้นะคะ”
หลังจากนั้นงานผมก็เริ่มขึ้น โจทย์ก็คือจะสอนยังไงให้สามารถประยุกต์ VBA กับงานที่ค่อนข้าง ซับซ้อนให้ได้ภายใน 10-12 ชั่วโมง
ดังนั้นสิ่งที่ผมทำคือ ทำความเข้าใจกับงานของผู้เรียน จากนั้นขึ้น Code เพื่อให้ VBA สามารถทำงานตามที่ผู้เรียนต้องการ
หลังจากนั้นก็สรุป Code ที่เกี่ยวข้อง ออกมาเพื่อสอนให้ตรงประเด็นที่สุดเรียกได้ว่าสอนให้ตรงกับงานลูกค้าสุดๆ
😊🏆ผลลัพธ์ที่ได้ก็ถูกใจผู้เรียน ผู้สอนก็มีความสุข😊
ขอบคุณ น้องกุ้กไก่ และ น้องปาล์มมากๆ ครับที่แวะเวียนมาให้เราช่วยแนะนำการสอนครั้งนี้ครับ
้องหละใช้เถอะ
14/05/2022
☺️☺️☺️มาสร้างแถบสีตารางการทำงานใน Excel ให้ขึ้นอัตโนมัติดีกว่าครัชช สนุกดีนะครับ เอามาประยุกต์ในการสร้าง Plan งานอื่นๆ ได้ด้วยนะเอออ☺️☺️
้องหละใช้เถอะ
ถ้าขี้เกียจพิมพ์ก็ Copy ไปวางได้เลยจร้าาาาา🙃🙃
........................................................................................................................................................................
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim startdate As Integer
Dim enddate As Integer
Dim nRow As Integer
Dim RefCol As Integer
Dim rng As Range
Dim rngClear As Range
nRow = Target.Row
Set rngClear = Range(Cells(nRow, 4), Cells(nRow, 34))
RefCol = 3
If Not Target.Column = 2 And Not Target.Column = 3 Or Target.Row >= 21 Then GoTo N
If Not Cells(nRow, 2) = Empty And Cells(nRow, 3) = Empty Then
startdate = Cells(nRow, 2) + RefCol
enddate = startdate
ElseIf Cells(nRow, 2) = Empty And Not Cells(nRow, 3) = Empty Then
enddate = Cells(nRow, 3) + RefCol
startdate = enddate
ElseIf Not Cells(nRow, 2) = Empty And Not Cells(nRow, 3) = Empty Then
startdate = Cells(nRow, 2) + RefCol
enddate = Cells(nRow, 3) + RefCol
ElseIf Cells(nRow, 2) = Empty And Cells(nRow, 3) = Empty Then
rngClear.Clear
GoTo N
End If
Set rng = Range(Cells(nRow, startdate), Cells(nRow, enddate))
rngClear.Clear
rng.Interior.Color = RGB(0, 255, 48)
N:
Application.EnableEvents = True
End Sub
10/05/2022
นอกจากการใช้สูตรนับตัวอักษรแบบ Count , CountA อะไรแบบนี้ เราสามารถสร้างสูตรสำหรับนับสีจากในตารางก็ได้นะเออ (เผื่อบางคนอยากนับแค่สี ไม่อยากนับตัวเลข ตัวอักษร)
Code อยู่ด้านล่าง ถ้าขี้เกียจพิมพ์ คัดลอกไปใช้ได้เลยคร้าบบบบ................................................................................................................................................................................................
Function CountColor(RngSelect As Range, RngColor As Range) As Integer
Dim rng As Range
For Each rng In RngSelect.Columns
If rng.Interior.Color = RngColor.Interior.Color Then
CountColor = CountColor + 1
End If
Next
End Function
#ลองทำดูจะรู้ว่าง่าย
02/05/2021
สอบไม่ได้ยากไม่ผ่านก็เอาใหม่
Microsoft Office Specialist (Excel 2019)
#รับสอน_Training_Excel_VBA_for_reduce_Working_time
27/08/2020
ปลื้มใจและ ขอบคุณมากที่สนใจและช่วยสร้างประโยชน์ได้ในงานของท่านได้ครับ
#ลองทำดูจะรู้ว่าง่าย
คลิกที่นี่เพื่อเป็นสมาชิก?
ประเภท
ติดต่อ โรงเรียนนี้
เบอร์โทรศัพท์
เว็บไซต์
ที่อยู่
Ang Thong
14000
เวลาทำการ
| จันทร์ | 09:00 - 17:00 |
| อังคาร | 09:00 - 17:00 |
| พุธ | 09:00 - 17:00 |
| พฤหัสบดี | 09:00 - 17:00 |
| ศุกร์ | 09:00 - 17:00 |
| เสาร์ | 09:00 - 17:00 |
| อาทิตย์ | 09:00 - 17:00 |