- Tham gia
- 30/5/06
- Bài viết
- 2,695
- Được thích
- 15,103
[noparse][highlight=vb]...[/highlight][/noparse]
So sánh với [noparse]
[/noparse]
[highlight=vb]Option Explicit
Dim endR As Long, SoDong As Long, iSh As Long, eRow As Long
Dim Sh As Worksheet, WsName As String, iR As Long, rngData As Range
Sub GanTmpNhap()
With Application
.DisplayAlerts = False: .ScreenUpdating = False: .Calculation = xlCalculationManual
End With
Sheets("TongHop").Select
[A6:F65000].ClearContents
With Sheets("TMP")
endR = .[A65000].End(xlUp).Row
'Set rngData = .Range("C1:C" & endR)
'rngData.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
'endR = .[A65000].End(xlUp).Row
Set rngData = .Range("A1:A" & endR)
With rngData
.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"A5"), Unique:=True
End With
.Range("A1:C" & endR).Name = "rngData"
.Range("D2
" & endR).Name = "rngSL"
.Range("A2:A" & endR).Name = "rngMaHH"
End With
Range("Extract").ClearContents: Names("Extract").Delete
endR = [A6].End(xlDown).Row
With Application
.Calculation = xlCalculationAutomatic
End With
With Range(Cells(6, 2), Cells(endR, 2))
.FormulaR1C1 = "=vlookup(RC1,rngData,2,0)"
.Offset(, 1).FormulaR1C1 = "=vlookup(RC1,rngData,3,0)"
End With
With Range(Cells(6, 2), Cells(endR, 3))
.Value = .Value
End With
Names("rngData").Delete
TaoSLNhap
With Application
.DisplayAlerts = True: .ScreenUpdating = True
End With
End Sub
Sub TaoSLNhap()
Range(Cells(6, 4), Cells(endR, 4)).FormulaR1C1 = "=SUMIF(rngMaHH,RC[-3],rngSL)"
Range(Cells(6, 2), Cells(endR, 4)).Value = Range(Cells(6, 2), Cells(endR, 4)).Value
Names("rngSL").Delete: Names("rngMaHH").Delete
Set rngData = Nothing
With Sheets("TMP")
.[A2:N65000].ClearContents
End With
End Sub
[/highlight]
So sánh với [noparse]
PHP:
...
[highlight=vb]Option Explicit
Dim endR As Long, SoDong As Long, iSh As Long, eRow As Long
Dim Sh As Worksheet, WsName As String, iR As Long, rngData As Range
Sub GanTmpNhap()
With Application
.DisplayAlerts = False: .ScreenUpdating = False: .Calculation = xlCalculationManual
End With
Sheets("TongHop").Select
[A6:F65000].ClearContents
With Sheets("TMP")
endR = .[A65000].End(xlUp).Row
'Set rngData = .Range("C1:C" & endR)
'rngData.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
'endR = .[A65000].End(xlUp).Row
Set rngData = .Range("A1:A" & endR)
With rngData
.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"A5"), Unique:=True
End With
.Range("A1:C" & endR).Name = "rngData"
.Range("D2

.Range("A2:A" & endR).Name = "rngMaHH"
End With
Range("Extract").ClearContents: Names("Extract").Delete
endR = [A6].End(xlDown).Row
With Application
.Calculation = xlCalculationAutomatic
End With
With Range(Cells(6, 2), Cells(endR, 2))
.FormulaR1C1 = "=vlookup(RC1,rngData,2,0)"
.Offset(, 1).FormulaR1C1 = "=vlookup(RC1,rngData,3,0)"
End With
With Range(Cells(6, 2), Cells(endR, 3))
.Value = .Value
End With
Names("rngData").Delete
TaoSLNhap
With Application
.DisplayAlerts = True: .ScreenUpdating = True
End With
End Sub
Sub TaoSLNhap()
Range(Cells(6, 4), Cells(endR, 4)).FormulaR1C1 = "=SUMIF(rngMaHH,RC[-3],rngSL)"
Range(Cells(6, 2), Cells(endR, 4)).Value = Range(Cells(6, 2), Cells(endR, 4)).Value
Names("rngSL").Delete: Names("rngMaHH").Delete
Set rngData = Nothing
With Sheets("TMP")
.[A2:N65000].ClearContents
End With
End Sub
[/highlight]
PHP:
Option Explicit
Dim endR As Long, SoDong As Long, iSh As Long, eRow As Long
Dim Sh As Worksheet, WsName As String, iR As Long, rngData As Range
Sub GanTmpNhap()
With Application
.DisplayAlerts = False: .ScreenUpdating = False: .Calculation = xlCalculationManual
End With
Sheets("TongHop").Select
[A6:F65000].ClearContents
With Sheets("TMP")
endR = .[A65000].End(xlUp).Row
'Set rngData = .Range("C1:C" & endR)
'rngData.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
'endR = .[A65000].End(xlUp).Row
Set rngData = .Range("A1:A" & endR)
With rngData
.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"A5"), Unique:=True
End With
.Range("A1:C" & endR).Name = "rngData"
.Range("D2:D" & endR).Name = "rngSL"
.Range("A2:A" & endR).Name = "rngMaHH"
End With
Range("Extract").ClearContents: Names("Extract").Delete
endR = [A6].End(xlDown).Row
With Application
.Calculation = xlCalculationAutomatic
End With
With Range(Cells(6, 2), Cells(endR, 2))
.FormulaR1C1 = "=vlookup(RC1,rngData,2,0)"
.Offset(, 1).FormulaR1C1 = "=vlookup(RC1,rngData,3,0)"
End With
With Range(Cells(6, 2), Cells(endR, 3))
.Value = .Value
End With
Names("rngData").Delete
TaoSLNhap
With Application
.DisplayAlerts = True: .ScreenUpdating = True
End With
End Sub
Sub TaoSLNhap()
Range(Cells(6, 4), Cells(endR, 4)).FormulaR1C1 = "=SUMIF(rngMaHH,RC[-3],rngSL)"
Range(Cells(6, 2), Cells(endR, 4)).Value = Range(Cells(6, 2), Cells(endR, 4)).Value
Names("rngSL").Delete: Names("rngMaHH").Delete
Set rngData = Nothing
With Sheets("TMP")
.[A2:N65000].ClearContents
End With
End Sub
Mã:
Option Explicit
Dim endR As Long, SoDong As Long, iSh As Long, eRow As Long
Dim Sh As Worksheet, WsName As String, iR As Long, rngData As Range
Sub GanTmpNhap()
With Application
.DisplayAlerts = False: .ScreenUpdating = False: .Calculation = xlCalculationManual
End With
Sheets("TongHop").Select
[A6:F65000].ClearContents
With Sheets("TMP")
endR = .[A65000].End(xlUp).Row
'Set rngData = .Range("C1:C" & endR)
'rngData.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
'endR = .[A65000].End(xlUp).Row
Set rngData = .Range("A1:A" & endR)
With rngData
.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"A5"), Unique:=True
End With
.Range("A1:C" & endR).Name = "rngData"
.Range("D2:D" & endR).Name = "rngSL"
.Range("A2:A" & endR).Name = "rngMaHH"
End With
Range("Extract").ClearContents: Names("Extract").Delete
endR = [A6].End(xlDown).Row
With Application
.Calculation = xlCalculationAutomatic
End With
With Range(Cells(6, 2), Cells(endR, 2))
.FormulaR1C1 = "=vlookup(RC1,rngData,2,0)"
.Offset(, 1).FormulaR1C1 = "=vlookup(RC1,rngData,3,0)"
End With
With Range(Cells(6, 2), Cells(endR, 3))
.Value = .Value
End With
Names("rngData").Delete
TaoSLNhap
With Application
.DisplayAlerts = True: .ScreenUpdating = True
End With
End Sub
Sub TaoSLNhap()
Range(Cells(6, 4), Cells(endR, 4)).FormulaR1C1 = "=SUMIF(rngMaHH,RC[-3],rngSL)"
Range(Cells(6, 2), Cells(endR, 4)).Value = Range(Cells(6, 2), Cells(endR, 4)).Value
Names("rngSL").Delete: Names("rngMaHH").Delete
Set rngData = Nothing
With Sheets("TMP")
.[A2:N65000].ClearContents
End With
End Sub
Lần chỉnh sửa cuối: