การเรียบเรียงข้อมูลที่ซ้ำกันออกไป
Posted: Mon Nov 25, 2013 10:09 am
โค้ดสองฟังชั่นนี้จะอยู่ในโมดูล ของไฟล์ excel ที่แนบไปนะค่ะ
ดิฉันได้ลองเขียนโค้ดเพื่อวน for นำข้อมูลจาก sheet ที่ชื่อ data MPS1 นำข้อมูลในคอลั่ม product_name กับ capacity มาไว้ใน ชีทที่ชื่อ sheet1 แล้วค่ะ และได้นำข้อมูลมาเก็บไว้ในตัวแปรอาเรย์ แต่ตอนนี้ดิฉันต้องการข้อมูลของตาราง product + capacity ทีมีชื่อ productc+capacityที่ไม่ซ้ำกันอีกค่ะ ดิฉันมีปัญหาเรื่องการเขียนโปรแกรมเกี่ยวกับการวนลูปค่ะ ช่วยให้คำแนะนำหน่อยนะค่ะ ดิฉันเพิ่งเคยเขียนโปรแกรม VBA เป็นครั้งแรก
Public Sub looping()
Dim i As Integer
Dim pro() As String
Dim cap() As String
Dim no_c As Single
i = 1
no_c = 0
Do Until Worksheets("sheet1").Cells(i + 1, 1).Value & Worksheets("sheet1").Cells(i + 1, 2).Value = ""
i = i + 1
no_c = no_c + 1
Loop
ReDim pro(1 To no_c)
ReDim cap(1 To no_c)
i = 1
For i = 1 To no_c
pro(i) = Worksheets("sheet1").Cells(i + 1, 1).Value
cap(i) = Worksheets("sheet1").Cells(i + 1, 2).Value
Next i
End Sub
Sub insertpc()
Dim maxrow As Long
Worksheets("data MPS1").Select
Range(Selection, Selection.End(xlDown)).Select
a = Selection.Rows.Count
Worksheets("data MPS1").Cells(2, 1).Select
Range(Selection, Selection.End(xlToRight)).Select
b = Selection.Columns.Count
icolumncount = ActiveSheet.UsedRange.Columns.Count
lRowCount = ActiveSheet.UsedRange.Rows.Count
For i = 1 To a
For j = 1 To b
Worksheets("Sheet1").Cells(i + 1, 1) = Worksheets("data MPS1").Cells(1 + i, 14)
Worksheets("Sheet1").Cells(i + 1, 2) = Worksheets("data MPS1").Cells(1 + i, 20)
Next j
Next i
End Sub
ดิฉันได้ลองเขียนโค้ดเพื่อวน for นำข้อมูลจาก sheet ที่ชื่อ data MPS1 นำข้อมูลในคอลั่ม product_name กับ capacity มาไว้ใน ชีทที่ชื่อ sheet1 แล้วค่ะ และได้นำข้อมูลมาเก็บไว้ในตัวแปรอาเรย์ แต่ตอนนี้ดิฉันต้องการข้อมูลของตาราง product + capacity ทีมีชื่อ productc+capacityที่ไม่ซ้ำกันอีกค่ะ ดิฉันมีปัญหาเรื่องการเขียนโปรแกรมเกี่ยวกับการวนลูปค่ะ ช่วยให้คำแนะนำหน่อยนะค่ะ ดิฉันเพิ่งเคยเขียนโปรแกรม VBA เป็นครั้งแรก
Public Sub looping()
Dim i As Integer
Dim pro() As String
Dim cap() As String
Dim no_c As Single
i = 1
no_c = 0
Do Until Worksheets("sheet1").Cells(i + 1, 1).Value & Worksheets("sheet1").Cells(i + 1, 2).Value = ""
i = i + 1
no_c = no_c + 1
Loop
ReDim pro(1 To no_c)
ReDim cap(1 To no_c)
i = 1
For i = 1 To no_c
pro(i) = Worksheets("sheet1").Cells(i + 1, 1).Value
cap(i) = Worksheets("sheet1").Cells(i + 1, 2).Value
Next i
End Sub
Sub insertpc()
Dim maxrow As Long
Worksheets("data MPS1").Select
Range(Selection, Selection.End(xlDown)).Select
a = Selection.Rows.Count
Worksheets("data MPS1").Cells(2, 1).Select
Range(Selection, Selection.End(xlToRight)).Select
b = Selection.Columns.Count
icolumncount = ActiveSheet.UsedRange.Columns.Count
lRowCount = ActiveSheet.UsedRange.Rows.Count
For i = 1 To a
For j = 1 To b
Worksheets("Sheet1").Cells(i + 1, 1) = Worksheets("data MPS1").Cells(1 + i, 14)
Worksheets("Sheet1").Cells(i + 1, 2) = Worksheets("data MPS1").Cells(1 + i, 20)
Next j
Next i
End Sub