EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)nongnok wrote:สิ่งที่ต้องการให้โปรแกรมทำคือ เก็บค่าในช่อง cost และ profit&lost ไปรวมกันใน Column คะ เพราะต้องนำมาวิเคราะห์ต่อไปคะ โดยข้อมูลของ Cost และ Profit&Lost จะต้องมีอย่างละ 1210 ข้อมูลคะ
โปรแกรมทำงานดังนี้คะ
1. ลบข้อมูลใน Sheet1 เนื่องจากข้อมูลที่ Copy มานั้น มาจากเลขสุ่มคะ ถ้าไม่ Copy มาในครั้งเดียวกัน ค่าของ Cost และ Profit&Lost ที่ได้จะไม่ได้มาจากเลขสุ่มตัวเดียวกันคะ ดังนั้นจึงใช้ Sheet1 เป็นที่ Paste ไว้ชั่วคราวคะ
2. Copy & Paste ข้อมูลในช่อง Cost และ Profit&Lost จาก Sheet1 ไปไว้แยก Sheet กันคะ ซึ่งในที่นี้คือ Sheet2 และ Sheet 3 คะ
3. เนื่องจากต้องการข้อมูลของ Cost และ Profit&Lost อย่างละ 1210 ข้อมูล จึงทำ Loop ให้โปรแกรม Run ให้คะ
Code: Select all
Sub Test0()
Dim i As Integer
Application.Calculation = xlManual
For i = 1 To 1210
Sheets("Cal").Range("H1:H111").copy
Sheets("Sheet2").Range("A1").End(xlToRight).Offset(0, 1) _
.PasteSpecial xlPasteValues
Sheets("Cal").Range("I1:I111").copy
Sheets("Sheet3").Range("A1").End(xlToRight).Offset(0, 1) _
.PasteSpecial xlPasteValues
Sheets("Cal").Calculate
Next i
Application.Calculation = xlAutomatic
End Sub
Code: Select all
Private Sub CommandButton3_Click()
Dim i As Integer
Application.Calculation = xlManual
For i = 1 To 2
Sheets("Cal").Range("a2").copy
Sheets("Sheet1").Range("A65536").End(xlUp).Offset(1, 0) _
.PasteSpecial xlPasteValues
Sheets("Cal").Range("D1:D111").copy
'Sheets("Sheet2").Range("A1").End(xlToRight).Offset(0, 1) _
.PasteSpecial xlPasteValues
Sheets("Cal").Range("H1:H111").copy
'Sheets("Sheet3").Range("A1").End(xlToRight).Offset(0, 1) _
.PasteSpecial xlPasteValues
Sheets("Cal").Range("I1:I111").copy
Sheets("Sheet4").Range("A1").End(xlToRight).Offset(0, 1) _
.PasteSpecial xlPasteValues
Sheets("Cal").Calculate
Next i
Application.Calculation = xlAutomatic
End Sub
Code: Select all
Sub Test0()
Dim i As Integer
Application.Calculation = xlManual
For i = 1 To 2
Sheets("Cal").Range("a2").copy
Sheets("Sheet1").Range("A65536").End(xlUp).Offset(1, 0) _
.PasteSpecial xlPasteValues
Sheets("Cal").Range("D1:D111").copy
Sheets("Sheet2").Cells(1, Columns.Count).End(xlToLeft).Offset(0, 1) _
.PasteSpecial xlPasteValues
Sheets("Cal").Range("H1:H111").copy
Sheets("Sheet3").Cells(1, Columns.Count).End(xlToLeft).Offset(0, 1) _
.PasteSpecial xlPasteValues
Sheets("Cal").Range("I1:I111").copy
Sheets("Sheet4").Cells(1, Columns.Count).End(xlToLeft).Offset(0, 1) _
.PasteSpecial xlPasteValues
Sheets("Cal").Calculate
Next i
Application.Calculation = xlAutomatic
End Sub