: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

เลือก sheetที่เป็นเดือน 02 ต้องเขียน code vba อย่างไรคะ

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
March201711
Gold
Gold
Posts: 1022
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

เลือก sheetที่เป็นเดือน 02 ต้องเขียน code vba อย่างไรคะ

#1

Post by March201711 »

ถ้าจะเลือก sheetที่เป็นเดือน 02 ต้องเขียน code vba อย่างไรคะ

Code: Select all

   Sheets("PL_Dept_MTD_03").Select
    Sheets("PL_Dept_MTD_" & format$(date-1, "mm").Select


run แล้วไม่ขึ้นเลยคะ
March201711
Gold
Gold
Posts: 1022
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: เลือก sheetที่เป็นเดือน 02 ต้องเขียน code vba อย่างไรคะ

#2

Post by March201711 »

ถ้าจะ run data ของเดือน Mar-18 โดยเอา sheet PL_YTD Col.Mar-18 โดยเริ่มที่ code 8 เป็นต้นไป copy แล้วไปวาง ที่ Sheet Main column ของเดือน Mar ต้องเขียน marco อย่างรไร โดยที่เดือนต่อไปไม่ต้องเข้าไปแก้ทุกเดือน ๆ ค่ะ ให้ vba รู้ได้เองว่าเป็นเดือนไหนในวันที่ปัจจุบันค่ะ

Code: Select all

Sub Run_03()
'
' Run_03 Macro
'

'
    Sheets("PL_YTD").Select
    ActiveWindow.SmallScroll Down:=-114
    Range("G76").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets("Main").Select
    Range("E6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("J9").Select
End Sub
มีเอกสารแนบคะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: เลือก sheetที่เป็นเดือน 02 ต้องเขียน code vba อย่างไรคะ

#3

Post by snasui »

:D โปรแกรมจะทราบได้อย่างไรว่าเรากำลังทำงานกับเดือนไหนและ Code ไหน ดูได้จากชีตไหน เซลล์ไหน ช่วยแจ้งมาด้วยครับ
March201711
Gold
Gold
Posts: 1022
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: เลือก sheetที่เป็นเดือน 02 ต้องเขียน code vba อย่างไรคะ

#4

Post by March201711 »

ตรง column o2 ค่ะ ตามfile แนบค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3700
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: เลือก sheetที่เป็นเดือน 02 ต้องเขียน code vba อย่างไรคะ

#5

Post by puriwutpokin »

ก่อนอื่นที่ชีทแรก ทำเดือนให้เป็นวันที่ 1/1/18 ,1/2/18 ไปทุกคอลัมน์ แล้ว ค่อย format ให้เป็นเดือน Text ตามรูปครับ
แล้วปรับเป็นโค้ดนี้

Code: Select all

Sub Run_03()
Dim n As Long
Dim i As Long
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = Sheets(1)
Set ws2 = Sheets(2)
On Error Resume Next
For n = 5 To 16
If Month(ws2.Cells(2, n)) = Month(Date) Then
For i = 6 To ws1.Range("a" & ws1.Rows.Count).End(xlUp).Row
    ws1.Cells(i, 5).Value = Application.WorksheetFunction.Index(ws2.Range("c3:p300"), _
    Application.WorksheetFunction.Match(ws1.Cells(i, 1), ws2.Range("c3:c300"), 0), _
    Application.WorksheetFunction.Match(ws1.Cells(4, 5), ws2.Range("e2:p2"), 0))
Next i
End If
Next n
End Sub
You do not have the required permissions to view the files attached to this post.
:shock: :roll: :D
March201711
Gold
Gold
Posts: 1022
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: เลือก sheetที่เป็นเดือน 02 ต้องเขียน code vba อย่างไรคะ

#6

Post by March201711 »

ทำแล้วปรับไม่ได้ run ไม่ขึ้นเลยค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3700
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: เลือก sheetที่เป็นเดือน 02 ต้องเขียน code vba อย่างไรคะ

#7

Post by puriwutpokin »

ลองดูตามไฟล์แนบครับ
You do not have the required permissions to view the files attached to this post.
:shock: :roll: :D
March201711
Gold
Gold
Posts: 1022
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: เลือก sheetที่เป็นเดือน 02 ต้องเขียน code vba อย่างไรคะ

#8

Post by March201711 »

สอบถามหน่อยค่ะ ถ้าจะเปลี่ยนเป็นเดือนอื่น เช่น เป้น เดือน jan หรือ feb จะได้ไหมคะ พอเปลี่ยน column O2 แล้ว กด refresh ข้อมูลก็ run เป็นเดือน mar ค่ะ อยากให้ run เป็นเดือนต่อๆไป โดยดูจาก cell O2 เป็นหลักค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3700
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: เลือก sheetที่เป็นเดือน 02 ต้องเขียน code vba อย่างไรคะ

#9

Post by puriwutpokin »

March201711 wrote: Thu Mar 22, 2018 9:06 am สอบถามหน่อยค่ะ ถ้าจะเปลี่ยนเป็นเดือนอื่น เช่น เป้น เดือน jan หรือ feb จะได้ไหมคะ พอเปลี่ยน column O2 แล้ว กด refresh ข้อมูลก็ run เป็นเดือน mar ค่ะ อยากให้ run เป็นเดือนต่อๆไป โดยดูจาก cell O2 เป็นหลักค่ะ
ปรับโค้ดตามนี้ครับ

Code: Select all

Sub Run_03()
Dim n As Long
Dim i As Long
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = Sheets(1)
Set ws2 = Sheets(2)
On Error Resume Next
With Application.WorksheetFunction
For n = 5 To 16
If Month(ws2.Cells(2, n)) = Month(ws1.Cells(2, 15)) Then
For i = 6 To ws1.Range("a" & ws1.Rows.Count).End(xlUp).Row
    ws1.Cells(i, n - 2).Value = .Index(ws2.Range("e3:p300"), _
    .Match(ws1.Cells(i, 1), ws2.Range("c3:c300"), 0), _
    .Match(ws1.Cells(4, Month(ws1.Cells(2, 15)) + 2), ws2.Range("e2:p2"), 0))
Next i
End If
Next n
End With
End Sub
:shock: :roll: :D
March201711
Gold
Gold
Posts: 1022
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: เลือก sheetที่เป็นเดือน 02 ต้องเขียน code vba อย่างไรคะ

#10

Post by March201711 »

ได้แล้วค่ะ ขอบคุณมากค่ะ K.Puriwutpokin :cp:
Post Reply