Cần mọi người giúp về copy gán giá trị chạy từ a cho đến b trong VBA

Liên hệ QC

trần thành thương

Thành viên mới
Tham gia
19/12/17
Bài viết
10
Được thích
1
E có 1 bảng dữ liệu ở sheet 1. Bây giờ muốn copy dữ liệu theo STT ( from, to tự điền) mà mong muốn sang sheet 2 ( kết quả như ảnh dưới ạ). (chỉ copy từ cột c đến cột H thôi ạ , + chạy VBA lần sau sẽ tự xóa kết quả vba lần trước ạ.
P/s: file excel e để dưới các bác ak.
Mong mọi người chỉ giáo viết hàm VBA cho e thực hiện ạ. E cảm ơn nhiều.
222333
222334
 

File đính kèm

  • đơn hàng.xlsx
    14.3 KB · Đọc: 5
Lần chỉnh sửa cuối:
PHP:
Sub CopyFromNum1ToNum2()
Dim Num1 As Long, Num2 As Long, J As Long, STT As Integer, Rws As Long, Col As Integer
Dim Rng As Range, sRng As Range, cRg As Range

Sheet1.Select
Num1 = [K10].Value:                                    Num2 = [k11].Value
Rws = [b2].CurrentRegion.Rows.Count:                   Set Rng = [a1].Resize(Rws):
Col = [b2].CurrentRegion.Columns.Count
'Thêm Câu Lênh Xóa Du Liêu Do Macro Tao Ra Lân Truóc O Dây:    '
For J = Num1 To Num2
    Set sRng = Rng.Find(J, , xlFormulas, xlWhole)
    If Not sRng Is Nothing Then
        Set cRg = Sheet2.[A65500].End(xlUp).Offset(1)
        STT = STT + 1:                                  cRg.Value = STT
        sRng.Offset(, 1).Resize(, Col).Copy Destination:=cRg.Offset(, 1)
    Else
        MsgBox "Nothing"
    End If
Next J
End Sub

& chúc cả tuần vui vẻ!
 
E có 1 bảng dữ liệu ở sheet 1. Bây giờ muốn copy dữ liệu theo STT ( from, to tự điền)
mà mong muốn sang sheet 2 ( kết quả như ảnh dưới ạ).
(chỉ copy từ cột B đến cột I thôi ạ, còn STT ở sheet 2 vẫn phải từ 1 trở đi )
Mong mọi người chỉ giáo viết hàm VBA cho e thực hiện ạ. E cảm ơn nhiều.
Bạn có thể sử dụng Advanced filter với điệu kiện là cột thứ tựtiêu đề không được merge cells .
và thêm đoạn code đánh số thứ tự.
 
PHP:
Sub CopyFromNum1ToNum2()
Dim Num1 As Long, Num2 As Long, J As Long, STT As Integer, Rws As Long, Col As Integer
Dim Rng As Range, sRng As Range, cRg As Range

Sheet1.Select
Num1 = [K10].Value:                                    Num2 = [k11].Value
Rws = [b2].CurrentRegion.Rows.Count:                   Set Rng = [a1].Resize(Rws):
Col = [b2].CurrentRegion.Columns.Count
'Thêm Câu Lênh Xóa Du Liêu Do Macro Tao Ra Lân Truóc O Dây:    '
For J = Num1 To Num2
    Set sRng = Rng.Find(J, , xlFormulas, xlWhole)
    If Not sRng Is Nothing Then
        Set cRg = Sheet2.[A65500].End(xlUp).Offset(1)
        STT = STT + 1:                                  cRg.Value = STT
        sRng.Offset(, 1).Resize(, Col).Copy Destination:=cRg.Offset(, 1)
    Else
        MsgBox "Nothing"
    End If
Next J
End Sub

& chúc cả tuần vui vẻ!
Ôi a dự đoán chuẩn luôn, có cả câu lệnh xóa dữ liệu marco trước ạ. Bác có thể viết lại lệnh khác cho e dc ko ak, e chỉ muốn copy dữ liệu từ cột C đến cột H chả hạn vào sheet 2 như file e gửi bác.
 

File đính kèm

  • đơn hàng.xlsx
    14.3 KB · Đọc: 4
Sẵn lòng thôi & đây:
PHP:
Sub CopyFromK10ToK11()
Dim Num1 As Long, Num2 As Long, J As Long, STT As Integer, Rws As Long
Dim Rng As Range, sRng As Range, cRg As Range

Sheet1.Select
Num1 = [K10].Value:                                             Num2 = [k11].Value
Rws = [b2].CurrentRegion.Rows.Count:                   Set Rng = [a1].Resize(Rws):
Col = [C1:h1].Columns.Count  '**        '
Sheet2.[E1].CurrentRegion.Offset(2).ClearContents   '<=| Lênh Xóa DL Macro Tao Ra Lân Truóc '
For J = Num1 To Num2
    Set sRng = Rng.Find(J, , xlFormulas, xlWhole)
    If Not sRng Is Nothing Then
        Set cRg = Sheet2.[E65500].End(xlUp).Offset(1, -4)    '**        '
        STT = STT + 1:                                              cRg.Value = STT
        sRng.Offset(, 2).Resize(, Col).Copy Destination:=cRg.Offset(, 1)        '**      '
    Else
        MsgBox "Nothing"
    End If
Next J
End Sub

Chúc nhiều thành công!
 
Web KT

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

Back
Top Bottom