Giúp em code chuyển dữ liệu

Liên hệ QC

LeHang.93

Thành viên chính thức
Tham gia
20/8/20
Bài viết
53
Được thích
9
Dear các Anh chị em trong Diễn đàn
Các anh chị em giúp mình sửa đoạn code, lấy mảng dữ liệu từ sheet 37 về dòng cuối cùng của sheet8, mình viết code này nhưng nó chỉ lấy được có 1 dòng thôi ( tức là chỉ thêm vào Sheet 8 A1 mà ko thêm A2


Private Sub CommandButton1_Click()
Dim dong_cuoi As Long
dong_cuoi = Sheet8.Range("A100000").End(xlUp).Row + 1
With Sheet8
.Range("A" & dong_cuoi) = Sheet37.Range("A1:A2").Value


End With

End Sub
 
Mã:
.Range("A" & dong_cuoi).Resize(2) = Sheet37.Range("A1:A2").Value

Tốt nhất là viết tường minh:

.Range("A" & dong_cuoi).Resize(2).Value = Sheet37.Range("A1:A2").Value
 
Mã:
.Range("A" & dong_cuoi).Resize(2) = Sheet37.Range("A1:A2").Value

Tốt nhất là viết tường minh:

.Range("A" & dong_cuoi).Resize(2).Value = Sheet37.Range("A1:A2").Value
em đưa vào bảng ko dc ạ
Bài đã được tự động gộp:

Private Sub CommandButton1_Click() Dim dong_cuoi As Long dong_cuoi = Sheet8.Range("E100000").End(xlUp).Row + 1 Sheet37.Range("A2:A3").Copy Sheet8.Range("B" & dong_cuoi).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False

em sử dung code này nhưng hơi nặng, có cách nào gảim đi không ạ
 
Ban đính kèm file thử coi.
 
em đưa vào bảng ko dc ạ
Bài đã được tự động gộp:

Private Sub CommandButton1_Click() Dim dong_cuoi As Long dong_cuoi = Sheet8.Range("E100000").End(xlUp).Row + 1 Sheet37.Range("A2:A3").Copy Sheet8.Range("B" & dong_cuoi).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False

em sử dung code này nhưng hơi nặng, có cách nào gảim đi không ạ
"Nặng" là sao bạn?
nếu chỉ có copy và Paste như thế thì bình thường, còn nếu bạn chạy vòng lặp nhiều thì mới gọi là nặng vì code luôn tương tác trên file
 
cho em hỏi code dưới nghĩa là sao ạ

And Trim(Left(TLot, 2)) = "CK" Then
 
Nó chả có nghĩa gì sất, vì không phải là 1 câu lệnh hoàn chỉnh

Em copy thiếu anh ơi

Do While Filename <> ""
Set Wb = Application.Workbooks.Open(Path & Filename, ReadOnly:=True)
Wb.Activate
With Wb.Sheets("sheet1")
DcuoiV = .Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To DcuoiV
TLot = .Cells(i, 2).Value 'tenlot
If TLot <> "" And Trim(Left(TLot, 2)) = "CK" Then
Kjo = .Cells(i - 6, 2).Value 'ten keijo
Res = .Cells(i - 7, 2).Value 'gia tri R
Ope = .Cells(i - 3, 3).Value 'Ten lot
EDate = .Cells(i, 9).Value 'nguoi lam
Erase EData
ở đây ạ
 
Do While Filename <> ""
Set Wb = Application.Workbooks.Open(Path & Filename, ReadOnly:=True)
Wb.Activate
With Wb.Sheets("sheet1")
DcuoiV = .Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To DcuoiV
1 TLot = .Cells(i, 2).Value 'tenlot
If TLot <> "" And Trim(Left(TLot, 2)) = "CK" Then
3 Kjo = .Cells(i - 6, 2).Value 'ten keijo
Res = .Cells(i - 7, 2).Value 'gia tri R
5 Ope = .Cells(i - 3, 3).Value 'Ten lot
EDate = .Cells(i, 9).Value 'nguoi lam
7 Erase EData
' . . . . ' ở đây ạ
D1: Đưa trị có trong ô thuộc dòng i & cột 'B" vô tham biến có tên TLot
D2: Điều kiện: Nếu tham biến (vừa nhận trị) khác rỗng & 2 ký tự không rỗng đầu tiên của nó là 'CK' thì thực hiện các lệnh cho đến dòng 7
 
Web KT

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

Back
Top Bottom