อาจารย์ดิฉันทีเรื่องรบกวนสอบถามเกี่ยวเนื่องจากคราวที่แล้ว เนื่องจาก file การทำงานของดิฉันมีหลายหลากรูปแบบมากคะ ในกรณี
นี้จะดึงข้อมูลจากชีทเพียง 1 ชีท เท่านั้น แต่ต้องเลือกเป็นรายเดือน โดยดิฉันนำ coed เดิมที่อาจารย์แนะนำมาปรับใช้ ซึ่งดิฉันมีการ
ตั้งชื่อช่วงดังนี้คะ
DATA1 = SHEETS("COMA").RANGE("B3:M23")
DATA3 = SHEETS("COMA").RANGE("N3:Y23")
DATA3 = SHEETS("COMA").RANGE("Z3:AK23")
MONTH1 = SHEETS("COMA").RANGE("B2:M2")
MONTH2 = SHEETS("COMA").RANGE("N2:Y2")
MONTH3 = SHEETS("COMA").RANGE("Z2:AK2")
ซึ่งดิฉันได้ปรับ code ตามนี้คะ พยายามปรับแล้วแต่ก็ยังเกิด error อยู่คะ
Code: Select all
Dim sh As String, mth As String, fml1 As String
Dim dt1 As String, dt2 As String, dt3 As Integer
Dim mth1 As String, mth2 As String, mth3 As String
Application.Calculation = xlCalculationManual
With ActiveSheet
'sh = .ComboBox2
mth = .ComboBox1
dt1 = Sheets("COMA").Range("DATA1") 'เริ่ม error ที่ row นี้คะ
dt2 = Sheets("COMA").Range("DATA2")
dt3 = Sheets("COMA").Range("DATA3")
mth1 = Sheets("COMA").Range("MONTH1")
mth2 = Sheets("COMA").Range("MONTH2")
mth3 = Sheets("COMA").Range("MONTH3")
fml1 = "=SUMIFS(INDEX(dt3,0,"
fml1 = fml1 & "MATCH(" & Chr(34) & mth & Chr(34) & ",mth3,0)),"
fml1 = fml1 & "INDEX(dt1,0,"
fml1 = fml1 & "MATCH(" & Chr(34) & mth & Chr(34) & ",mth1,0)),$B5,"
fml1 = fml1 & "INDEX(dt2,0,"
fml1 = fml1 & "MATCH(" & Chr(34) & mth & Chr(34) & ",mth2,0)),C$4)"
.Range("C5").Formula = fml1
.Range("C5").Copy
.Range("C5:M16").PasteSpecial xlPasteFormulas
Application.Calculation = xlCalculationAutomatic
.Range("C5:M16") = .Range("C5:M16").Value
End With
รบกวนอาจารย์ช่วยแนะนะด้วยนะคะ
ขอบคุณคะ