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]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)Code: Select all
Sub mc()
Dim i As Long
Dim j As Long
j = Sheet1.Cells(Rows.Count, "A").End(xlUp).Row
For i = 3 To j
If Sheet1.Cells(i, "H") = Sheet3.Cells(i, "J") And Sheet1.Cells(i, "G") = Sheet3.Cells(i, "K") Then
Sheet3.Cells(i, "O").Copy Destiantion:=Sheet1.Cells(i, "AL")
Sheet3.Cells(i, "F").Copy Destiantion:=Sheet1.Cells(i, "AP")
End If
Next
End Sub
Code: Select all
Sub testmc()
Dim i As Long
Dim j As Long
j = Sheet1.Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To j
If Sheet3.Cells(i, "J") = Sheet1.Cells(i, "H") And Sheet3.Cells(i, "K") = Sheet1.Cells(i, "G") Then
Sheet3.Cells(i, "O").Copy Destiantion:=Sheet1.Cells(i, "AL")
Sheet3.Cells(i, "F").Copy Destiantion:=Sheet1.Cells(i, "AP")
End If
Next
End Sub
Code: Select all
Sub testmc()
' Dim i As Long
' Dim j As Long
'
' j = Sheet1.Cells(Rows.Count, "A").End(xlUp).Row
'
' For i = 1 To j
' If Sheet3.Cells(i, "J") = Sheet1.Cells(i, "H") And _
' Sheet3.Cells(i, "K") = Sheet1.Cells(i, "G") Then
' Sheet3.Cells(i, "O").Copy Destiantion:=Sheet1.Cells(i, "AL")
' Sheet3.Cells(i, "F").Copy Destiantion:=Sheet1.Cells(i, "AP")
' End If
' Next
Dim srAll As Range, rngSr As Range
Dim tgAll As Range, rngTg As Range
With Worksheets("Sheet3")
Set srAll = .Range("a2", .Range("a" & .Rows.Count).End(xlUp))
End With
With Worksheets("Sheet1")
Set tgAll = .Range("a2", .Range("a" & .Rows.Count).End(xlUp))
End With
For Each rngSr In srAll
For Each rngTg In tgAll
If rngSr.Parent.Cells(rngSr.Row, "j").Value = _
rngTg.Parent.Cells(rngTg.Row, "g").Value And _
rngSr.Parent.Cells(rngSr.Row, "k").Value = _
rngTg.Parent.Cells(rngTg.Row, "h").Value Then
rngTg.Parent.Cells(rngTg.Row, "al").Value = _
rngSr.Parent.Cells(rngSr.Row, "f").Value
rngTg.Parent.Cells(rngTg.Row, "ap").Value = _
rngSr.Parent.Cells(rngSr.Row, "o").Value
End If
Next rngTg
Next rngSr
End Sub
Code: Select all
Dim srAll As Range, rngSr As Range
Dim tgAll As Range, rngTg As Range
With Worksheets("Sheet3")
Set srAll = .Range("a2", .Range("a" & .Rows.Count).End(xlUp))
End With
With Worksheets("Sheet1")
Set tgAll = .Range("a3", .Range("a" & .Rows.Count).End(xlUp))
End With
For Each rngSr In srAll
For Each rngTg In tgAll
If rngSr.Parent.Cells(rngSr.Row, "k").Value = _
rngTg.Parent.Cells(rngTg.Row, "g").Value And _
rngSr.Parent.Cells(rngSr.Row, "j").Value = _
rngTg.Parent.Cells(rngTg.Row, "h").Value Then
rngTg.Parent.Cells(rngTg.Row, "al").Value = _
rngSr.Parent.Cells(rngSr.Row, "f").Value
rngTg.Parent.Cells(rngTg.Row, "ap").Value = _
rngSr.Parent.Cells(rngSr.Row, "o").Value
End If
Next rngTg
Next rngSr
End Sub