dvh.hy.9902
Thành viên hoạt động
- Tham gia
- 27/3/12
- Bài viết
- 123
- Được thích
- 9
- Mong được mọi người trên diến đàn GPE giúp đỡ code VBA để copy dữ liệu và paste vào vùng được xác định bởi dòng kế tiếp (của cột số thứ tự)
- Chi tiết trong file đính kèm!. Xin cảm ơn mọi người!.
Mình làm không được, Bạn có thể hướng dẫn cho mình một cách cụ thể hơn với, VBA này mình còn mơ hồ lắm, rất mong được bạn và mọi người giúp.Xin cảm ơn!.đoạn code copy sang sheet1
Union([B2:B8], [D28]).Copy Sheet1.[A200].End(3).Offset(2, 3)
Union([B9:B15], [D915]).Copy Sheet1.[A200].End(3).Offset(2, 5)
Mình làm không được, Bạn có thể hướng dẫn cho mình một cách cụ thể hơn với, VBA này mình còn mơ hồ lắm, rất mong được bạn và mọi người giúp.Xin cảm ơn!.
- Cảm ơn bạn nhiều. Kết quả đúng nhưng vẫn còn một vấn đề là định dạng, mình muốn định dạng khi copy vào sheet T1 và T2 đó phải theo định dạng tại sheet T1 và T2 chứ không phải theo định dạng của sheet Loại. Rất mong bạn và mọi người giúp.xem thử nha,tôi cũng mới học,,,,xem thử
Option Explicit
Sub hello()
Sheets("Loai").Select
Union([B2:B8], [D2:D8]).Copy Destination:=Sheets("T1").[A65000].End(xlUp).Offset(2, 3)
Union([B9:B15], [D9:D15]).Copy Destination:=Sheets("T1").[A65000].End(xlUp).Offset(2, 5)
[B2:C8].Copy Destination:=Sheets("T2").[A65000].End(xlUp).Offset(2, 3)
[b9:c15].Copy Destination:=Sheets("T2").[A65000].End(xlUp).Offset(2, 5)
End Sub
Bạn ơi cho mình hỏi với. Có phải dòng lệnh này .[A65000].End(xlUp) là để tìm đến dòng cuối có đúng không ạ?; Union là hợp vùng chọn ví dụ ([B2:B8], [D28]) là vùng từ B28 có đúng không bạn?PHP:Option Explicit Sub hello() Sheets("Loai").Select Union([B2:B8], [D2:D8]).Copy Destination:=Sheets("T1").[A65000].End(xlUp).Offset(2, 3) Union([B9:B15], [D9:D15]).Copy Destination:=Sheets("T1").[A65000].End(xlUp).Offset(2, 5) [B2:C8].Copy Destination:=Sheets("T2").[A65000].End(xlUp).Offset(2, 3) [b9:c15].Copy Destination:=Sheets("T2").[A65000].End(xlUp).Offset(2, 5) End Sub
- Hì hì các bác đừng cười nhé, em chẳng biết thử làm sao?. Bác nói rõ hơn chút bác ơi!.[Thongbao]Bạn ơi cho mình hỏi với. Có phải dòng lệnh này .[A65000].End(xlUp) là để tìm đến dòng cuối có đúng không ạ?; Union là hợp vùng chọn ví dụ ([B2:B8], [D28]) là vùng từ B28 có đúng không bạn?[/Thongbao]
Bạn dùng lệnh
MsgBox "? Chuỗi gì!"
Để hỏi ngay thằng VBA í!
thì còn cách làm nào khác không? các bác chỉ cho em cái. Với cách trên em bấm vào nó còn rật rất may (như đơ) và cho kết quả. Có lễ máy của em cấu hình kém quá.Option Explicit
Sub hello()
Sheets("Loai").Select
Union([B2:B8], [D2:D8]).Copy Destination:=Sheets("T1").[A65000].End(xlUp).Offset(2, 3)
Union([B9:B15], [D9:D15]).Copy Destination:=Sheets("T1").[A65000].End(xlUp).Offset(2, 5)
[B2:C8].Copy Destination:=Sheets("T2").[A65000].End(xlUp).Offset(2, 3)
[b9:c15].Copy Destination:=Sheets("T2").[A65000].End(xlUp).Offset(2, 5)
End Sub
Cái đỏ đỏ đọc mãi chẳng hiểu- Hì hì các bác đừng cười nhé, em chẳng biết thử làm sao?. Bác nói rõ hơn chút bác ơi!.
- Không biết ngoài cách làm này
thì còn cách làm nào khác không? các bác chỉ cho em cái. Với cách trên em bấm vào nó còn rật rất may (như đơ) và cho kết quả. Có lễ máy của em cấu hình kém quá.
Sub hello1()
With Sheets("T1").[A65000].End(xlUp)
.Offset(2, 3).Resize(7) = Sheets("Loai").[B2:B8].Value
.Offset(2, 4).Resize(7) = Sheets("Loai").[D2:D8].Value
.Offset(2, 5).Resize(7) = Sheets("Loai").[B9:B15].Value
.Offset(2, 6).Resize(7) = Sheets("Loai").[D9:D15].Value
End With
With Sheets("T2").[A65000].End(3)
.Offset(2, 3).Resize(7, 2) = Sheets("Loai").[B2:C8].Value
.Offset(2, 5).Resize(7, 2) = Sheets("Loai").[B9:C15].Value
End With
End Sub
Sub hello2()
Dim Sarr(), kq1(1 To 1000, 1 To 4), kq2(1 To 1000, 1 To 4), i, n
With Sheets("Loai")
Sarr = .Range(.[B2], .[B65536].End(xlUp)).Resize(, 3).Value
End With
n = UBound(Sarr) \ 2
For i = 1 To n
kq1(i, 1) = Sarr(i, 1)
kq1(i, 2) = Sarr(i, 3)
kq1(i, 3) = Sarr(i + n, 1)
kq1(i, 4) = Sarr(i + n, 3)
kq2(i, 1) = Sarr(i, 1)
kq2(i, 2) = Sarr(i, 2)
kq2(i, 3) = Sarr(i + n, 1)
kq2(i, 4) = Sarr(i + n, 2)
Next
Sheets("T1").[A65000].End(xlUp)(3, 4).Resize(n, 4) = kq1
Sheets("T2").[A65000].End(3).Offset(2, 3).Resize(n, 4) = kq2
End Sub
- Mong được mọi người trên diến đàn GPE giúp chỉnh sửa đoạn code VBA để xác định dòng vừa nhập liệu của sheet 2 và copy dữ liệu vào dòng cuối cùng bên sheet 1 giống như đoạn mã đã viết (không copy toàn bộ mà chỉ cập nhật thêm phần dữ liệu mới nhập khi chạy mã code).
- Chi tiết trong file đính kèm!. Xin cảm ơn mọi người!.
Sub hibe()
Dim lR As Long, eR As Long, i As Long, inDATA()
ReDim outDATA(1 To 8)
With Sheet2
lR = .Range("C" & .Rows.Count).End(xlUp).Row
inDATA = .Range("C" & lR).Resize(1, 7).Value2
For i = 1 To UBound(inDATA, 2)
If i <= 2 Or i = 6 Then outDATA(i) = inDATA(1, i)
If i = 3 Or i = 7 Then outDATA(i + 1) = inDATA(1, i)
Next i
End With
With Sheet1
eR = .Range("B" & .Rows.Count).End(xlUp).Row + 1
.Range("B" & eR).Resize(1, 8) = outDATA
End With
End Sub
eR khai báo biến này có ý nghĩa gì vậy Anh?PHP:Sub hibe() Dim lR As Long, eR As Long, i As Long, inDATA() ReDim outDATA(1 To 8) With Sheet2 lR = .Range("C" & .Rows.Count).End(xlUp).Row inDATA = .Range("C" & lR).Resize(1, 7).Value2 For i = 1 To UBound(inDATA, 2) If i <= 2 Or i = 6 Then outDATA(i) = inDATA(1, i) If i = 3 Or i = 7 Then outDATA(i + 1) = inDATA(1, i) Next i End With With Sheet1 eR = .Range("B" & .Rows.Count).End(xlUp).Row + 1 .Range("B" & eR).Resize(1, 8) = outDATA End With End Sub
Cám ơn bạn rất nhiềuPHP:Sub hibe() Dim lR As Long, eR As Long, i As Long, inDATA() ReDim outDATA(1 To 8) With Sheet2 lR = .Range("C" & .Rows.Count).End(xlUp).Row inDATA = .Range("C" & lR).Resize(1, 7).Value2 For i = 1 To UBound(inDATA, 2) If i <= 2 Or i = 6 Then outDATA(i) = inDATA(1, i) If i = 3 Or i = 7 Then outDATA(i + 1) = inDATA(1, i) Next i End With With Sheet1 eR = .Range("B" & .Rows.Count).End(xlUp).Row + 1 .Range("B" & eR).Resize(1, 8) = outDATA End With End Sub