Code VBA dò tìm đến dòng cuối của số thứ tự thì paste dữ liệu được copy từ sheet khác

Liên hệ QC

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!.
 

File đính kèm

  • F1.rar
    16.3 KB · Đọc: 173
- 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!.

đoạn code copy sang sheet1

Union([B2:B8], [D2:D8]).Copy Sheet1.[A200].End(3).Offset(2, 3)
Union([B9:B15], [D9:D15]).Copy Sheet1.[A200].End(3).Offset(2, 5)
 
Upvote 0
đoạn code copy sang sheet1
Union([B2:B8], [D2:D8]).Copy Sheet1.[A200].End(3).Offset(2, 3)
Union([B9:B15], [D9:D15]).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!.
 
Upvote 0
xem thử nha,,,,,,,,tôi cũng mới học,,,,,,,,,,,xem thử
- 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.
- Nếu có cách dùng BVA nào khác rất mong được mọi người giúp; hướng dẫn. Xin cảm ơn rất nhiều
 
Upvote 0
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
 
Upvote 0
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
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], [D2:D8]) là vùng từ B2:D8 có đúng không bạn?
 
Lần chỉnh sửa cuối:
Upvote 0
[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], [D2:D8]) là vùng từ B2:D8 có đúng không bạn?[/Thongbao]

Bạn dùng lệnh
MsgBox "? Chuỗi gì!"
Để hỏi ngay thằng VBA í!
 
Upvote 0
[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], [D2:D8]) là vùng từ B2:D8 có đúng không bạn?[/Thongbao]

Bạn dùng lệnh
MsgBox "? Chuỗi gì!"
Để hỏi ngay thằng VBA í!
- 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
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
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á.
 
Upvote 0
- 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á.
Cái đỏ đỏ đọc mãi chẳng hiểu

Cách thì có nhiều nhưng kết quả cũng rứa thôi

PHP:
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
Viết đủ kiểu cho bạn nghiên cứu. Với code này mà số dòng không chia đều cho 2 cột thì tèo......
PHP:
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
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn bác rất nhiều!.
 
Lần chỉnh sửa cuối:
Upvote 0
- 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!.
 

File đính kèm

  • NHAP PHTU.xls
    43 KB · Đọc: 106
Upvote 0
- 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!.
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
 
Upvote 0
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
eR khai báo biến này có ý nghĩa gì vậy Anh?
 
Upvote 0
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ều
 
Upvote 0
- 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 "so ycxk" và copy dữ liệu vào dòng cuối cùng bên sheet "sct" 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!
 

File đính kèm

  • So chi tiet1.xls
    103 KB · Đọc: 55
Upvote 0
em muốn nhờ mọi người làm giúp copy 30 cột cuối cùng của sheet2 sang bên sheet 3, mọi người giúp em ạ
có khoảng 10k dòng, nhưng cột cuối chưa xác định,
 

File đính kèm

  • 5c.xlsx
    11.5 KB · Đọc: 8
Upvote 0
em muốn nhờ mọi người làm giúp copy 30 cột cuối cùng của sheet2 sang bên sheet 3, mọi người giúp em ạ
có khoảng 10k dòng, nhưng cột cuối chưa xác định,
Cứ lấy 30 cột cuối thôi, bất kể cột cuối cùng là cột nào, đúng không bạn?
 
Upvote 0
Web KT
Back
Top Bottom