Nhờ sửa code áp công thức vào vùng trong cột cuối bên phải

Liên hệ QC

lanp900

Thành viên mới
Tham gia
30/7/09
Bài viết
28
Được thích
0
Các bác tiền bối giúp em việc này. Là do học lỏm của diễn đàn nên VBA của em nửa nạc nửa mỡ đến nỗi làm ra cái đoạn code chạy vô cùng chậm. Em biết một phần nguyên nhân mà không sửa được do không có kiến thức 1 cách hệ thống. Các bác giúp em nhé. Xin cảm ơn

Sub nhaplieu()
Dim dong As Integer
Dim cot As Integer

Sheets("afc90").Select
Application.ScreenUpdating = False
cot = Range("aa9").End(xlToLeft).Column
For dong = 1 To 1320
Cells(dong + 8, cot + 1).Value = "=if(isna(VLOOKUP(a" & dong + 8 & ",congcu!$B$7:$D$21,3,0)),0,VLOOKUP(a" & dong + 8 & ",congcu!$B$7:$D$21,3,0))"

'em chi muon copy vung cot cuoi tu dong 9 den 1320
Columns(cot + 1).Select
Selection.Copy
Columns(cot + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Next dong

End Sub
 
Các bác tiền bối giúp em việc này. Là do học lỏm của diễn đàn nên VBA của em nửa nạc nửa mỡ đến nỗi làm ra cái đoạn code chạy vô cùng chậm. Em biết một phần nguyên nhân mà không sửa được do không có kiến thức 1 cách hệ thống. Các bác giúp em nhé. Xin cảm ơn

Sub nhaplieu()
Dim dong As Integer
Dim cot As Integer

Sheets("afc90").Select
Application.ScreenUpdating = False
cot = Range("aa9").End(xlToLeft).Column
For dong = 1 To 1320
Cells(dong + 8, cot + 1).Value = "=if(isna(VLOOKUP(a" & dong + 8 & ",congcu!$B$7:$D$21,3,0)),0,VLOOKUP(a" & dong + 8 & ",congcu!$B$7:$D$21,3,0))"

'em chi muon copy vung cot cuoi tu dong 9 den 1320
Columns(cot + 1).Select
Selection.Copy
Columns(cot + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Next dong

End Sub


Thử sửa thế này xem sao nhé

PHP:
Sub nhaplieu()     
     Dim dong As Long
     Dim cot As Long
     Dim Sh As Worksheet
     Set Sh = Sheets("afc90")
     Application.ScreenUpdating = False
     cot = Sh.Range("a9").End(xlToLeft).Column + 1  
     For dong = 9 to 1320  
          Sh.Cells(dong, cot).FormulaR1C1 = "=if(isna(VLOOKUP(a" & dong & ",'congcu'!R7C2:R21C4,3,0)),0,VLOOKUP(a" & dong &  ",'congcu'!R7C2:R21C4,3,0))"    
     Next
     Application.ScreenUpdating = True
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Bác à. code bác cho em chạy được tuy nhiên đoạn vlookup(a" & dong & ,congcu..... Ý em cần là địa chỉ ô A9, A10 ....... A1320. Chính vì thế ở code của em em chỉ biết dùng vòng lặp. Mong bác trợ giúp tiếp. Cám ơn.
Thông cảm em chưa đưa ví dụ được vì một số nhậy cảm nghề riêng.
 
Upvote 0
Bạn bắt nó làm việc gấp đôi nhưng chỉ fát lương 1 lần nên nó lãng công là fải rồi!

Là do học lỏm của diễn đàn nên VBA của em nửa nạc nửa mỡ đến nỗi làm ra cái đoạn code chạy vô cùng chậm. Em biết một phần nguyên nhân mà không sửa được do không có kiến thức 1 cách hệ thống. Các bác giúp em nhé. Xin cảm ơn

PHP:
Sub nhaplieu()
  Dim dong As Integer
  Dim cot As Integer
    
  Sheets("afc90").Select
  Application.ScreenUpdating = False
  cot = Range("aa9").End(xlToLeft).Column
      For dong = 1 To 1320
              Cells(dong + 8, cot + 1).Value = "=if(isna(VLOOKUP(a" & dong + 8 &       ",congcu!$B$7:$D$21,3,0)),0,VLOOKUP(a" & dong + 8 & ",congcu!$B$7:$D$21,3,0))"
        
        'em chi muon copy vung cot cuoi tu dong 9 den 1320'
1             Columns(cot + 1).Select
             Selection.Copy
            Columns(cot + 1).Select
4    Selection.PasteSpecial Paste:=xlPasteValues
 5           Application.CutCopyMode = False
6 Next dong
    
End Sub[/QUOTE]Bạn hãy đưa các dòng lệnh bắt đầu từ dòng có số 1 cho đến dòng có số 5 xuống dưới dòng 6

Nhưng fải sửa lại nội dung dòng 1 để nó copy khoảng 1500 dòng đủ mệt rồi còn gì!
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom