Page 1 of 1
ลองทำ VBA ตามบอร์ดครั้งแรก ช่วยหน่อยค่ะ
Posted: Thu Apr 09, 2015 10:02 am
by aerojen
อยากให้รวม ข้อมูลจาก ชีท 1-3 มาไว้ในชีทที่ 4 โดยที่ชีท 4 ต้องรวมกันแล้วมีข้อมูลไม่ซ้ำกัน
Re: ลองทำ VBA ตามบอร์ดครั้งแรก ช่วยหน่อยค่ะ
Posted: Thu Apr 09, 2015 10:08 am
by snasui

ปัญหาคืออะไรครับ Code ที่ติดปัญหาชื่อว่าอะไร ติดขัดบรรทัดใดครับ

Re: ลองทำ VBA ตามบอร์ดครั้งแรก ช่วยหน่อยค่ะ
Posted: Thu Apr 09, 2015 2:45 pm
by aerojen
ไม่ค่อยเข้าใจ บรรทัด insert ค่ะ อาจจะแตกต่างจากตัวอย่างที่อาจารย์เคยเขียน ตรงที่ เมื่อรวมข้อมูลมาที่ชีท4 แล้ว ต้องดึงข้อมูลมา ไม่ซ้ำกันค่ะ
Sub InsertRow()
Dim r As Range, rAll As Range
Dim rFmt As Range, rsHead As Range
Dim rtHead As Range, rInsert As Range
With Sheets("Sheet1")
Set rFmt = .Range("A2")
Set rsHead = .Range("A1:F1")
End With
With Sheets("Sheet4")
Set rtHead = .Range("A1")
Set rAll = .Range("D2", .Range("D" & Rows.Count).End(xlUp))
For Each r In rAll
If r <> r.Offset(4, 0) Then
r.Offset(1, 6) = True
End If
Next r
Set rInsert = .Range("I:I").SpecialCells(xlCellTypeConstants)
For Each r In rInsert
r.Resize(2, 1).EntireRow.Insert shift:=xlShiftDown
r.Offset(-2, -7) = "Total"
r.Offset(-2, -4).Formula = "=sum(" & r.Offset(-3, -4).Address & ":" & _
r.Offset(-3, -4).End(xlUp).Address & ")"
Set r = r.Offset(-2, -4)
r = Application.ConvertFormula(r.FormulaR1C1, xlR1C1, xlA1, xlRelative)
r.Resize(1, 4).FillRight
rFmt.Copy
r.CurrentRegion.PasteSpecial xlPasteFormats
Next r
.Range("I:I").Clear
End With
rsHead.Copy rtHead
End Sub
Re: ลองทำ VBA ตามบอร์ดครั้งแรก ช่วยหน่อยค่ะ
Posted: Thu Apr 09, 2015 2:52 pm
by aerojen
ลืม attach file ที่ลองทำใหม่ค่ะ ช่วยดูให้หน่อยค่ะ
Re: ลองทำ VBA ตามบอร์ดครั้งแรก ช่วยหน่อยค่ะ
Posted: Thu Apr 09, 2015 2:58 pm
by snasui

ต้องการข้อมูลไม่ซ้ำกันสามารถใช้ Remove Duplicate เข้ามาช่วยได้หรือจะเขียน Code เข้าไปจัดการเองก็ได้ แต่ควรใช้การบันทึก Macro การ Remove Duplicate แล้วนำมาใช้แทนการเขียนเองยกเว้นมีความเชี่ยวชาญแล้ว
ที่เขียนให้ Insert ไม่ทราบว่าต้องการจะทำอะไรลองอธิบาบสิ่งที่ต้องการและขั้นตอนการทำงานทั้งหมดมาอีกครั้ง ทำให้ผ่านไปทีละขั้นก่อนครับ
สำหรับการโพสต์ฺ Code ควรโพสต์ให้เป็น Code จะได้สะดวกต่อการอ่าน สามารถดูตัวอย่างได้ที่
viewtopic.php?f=6&t=1187