Giúp đỡ về macro copy không xuống dòng (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

gs_nguyenhuong

Thành viên mới
Tham gia
11/4/12
Bài viết
12
Được thích
3
Cho em hỏi là sau khi tạo macro như dưới đây tại sao điền hết các giá trị trong cột số lượng thì nó sẽ copy sang dòng mới nhưng nếu thiếu một ô là nó không copy vào dòng mới. Anh chị có thể giải thích và sửa dùm em để cho nó xuống dòng sau mỗi lần copy bằng macro được ko. file đính kèm ở dưới nhé em xin cảm ơn!$@!!
PHP:
Public Sub Huong()
Dim sArr(), dArr(), I As Long, K As Long
With Sheets("Donhang")
sArr = .[D7:D35].ValueReDim dArr(1 To 1, 1 To 35)
dArr(1, 1) = Now()
dArr(1, 2) = .[B4].Value
dArr(1, 3) = .[B5].Value
dArr(1, 4) = .[G36].Value
dArr(1, 5) = ""
K = 5
For I = 1 To 29   
 K = K + 1   
 dArr(1, K) = sArr(I, 1)
Next I
End With
Sheets("Du lieu").[S65000].End(xlUp).Offset(1, -18).Resize(, 34).Value = dArr  // giải thích dùm em lệnh này nha
MsgBox "DA COPY DU LIEU!"
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Cho em hỏi là sau khi tạo macro như dưới đây tại sao điền hết các giá trị trong cột số lượng thì nó sẽ copy sang dòng mới nhưng nếu thiếu một ô là nó không copy vào dòng mới. Anh chị có thể giải thích và sửa dùm em để cho nó xuống dòng sau mỗi lần copy bằng macro được ko. file đính kèm ở dưới nhé em xin cảm ơn!$@!!
PHP:
Public Sub Huong()
Dim sArr(), dArr(), I As Long, K As Long
With Sheets("Donhang")
sArr = .[D7:D35].ValueReDim dArr(1 To 1, 1 To 35)
dArr(1, 1) = Now()
dArr(1, 2) = .[B4].Value
dArr(1, 3) = .[B5].Value
dArr(1, 4) = .[G36].Value
dArr(1, 5) = ""
K = 5
For I = 1 To 29   
 K = K + 1   
 dArr(1, K) = sArr(I, 1)
Next I
End With
Sheets("Du lieu").[S65000].End(xlUp).Offset(1, -18).Resize(, 34).Value = dArr  // giải thích dùm em lệnh này nha
MsgBox "DA COPY DU LIEU!"
End Sub

Sửa lại vầy thử coi nha, giảm bớt nhân sự trong code cho bớt tốn kém
PHP:
Public Sub Huong()
Dim sArr(), dArr(1 To 1, 1 To 35), I As Long
With Sheets("Donhang")
   sArr = .[D7:D35].Value
   dArr(1, 1) = Now()
   dArr(1, 2) = .[B4].Value
   dArr(1, 3) = .[B5].Value
   dArr(1, 4) = .[G36].Value
   
   For I = 1 To 29
       dArr(1, I + 5) = sArr(I, 1)
   Next I
End With

Sheets("Du lieu").[A65000].End(xlUp).Offset(1).Resize(, 35).Value = dArr
MsgBox "DA COPY DU LIEU!"
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom