Code lấy số liệu từ sheet Form xuống Data lưu trữ tùy điều kiện (1 người xem)

Liên hệ QC

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

AnhThu-1976

Thành viên tích cực
Tham gia
17/10/14
Bài viết
1,063
Được thích
175
Chào các thành viên GPE!

Em đã làm 1 sheet form, sheet form sử dụng chung cho nhập nhiều loại chứng từ, từ sheet form này sẽ cho số liệu qua sheet Temp, bây giờ em muốn cập nhật số liệu từ sheet Temp sang để lưu sang các sheet Data tùy điều kiện sau:

Nhờ anh chị viết giúp code tổng hợp để khi bấm vào "Cập nhật" ở sheet "Form" thì sẽ lấy dữ liệu từ sheet "Temp" sang các Sheet "Data" như sau:

Nếu ô B2 của sheet Temp là Data1 thì sẽ lưu dữ liệu ở sheet Temp từ A9:P13 sang sheet Data1 ( lấy số liệu ở File "DangThucTap2")

Nếu ô B2 của sheet Temp là Data2 thì sẽ lưu dữ liệu ở sheet Temp từ A19:S28 sang sheet Data2 (lấy số liệu ở File "DangThucTap3")

Em cảm ơn.

P/s: * Lưu ý code sẽ sử dụng chung cho 2 File
* "Ngày CT" ở các Sheet Data là "trường" yêu cầu bắt buộc phải có
* Tiêu đề ở sheet "Temp" thì tương ứng với sheet "Data1" và "Data2"
* Pass của sheet "Form": 123
 

File đính kèm

Lần chỉnh sửa cuối:
Chào các thành viên GPE!

Em đã làm 1 sheet form, sheet form sử dụng chung cho nhập nhiều loại chứng từ, từ sheet form này sẽ cho số liệu qua sheet Temp, bây giờ em muốn cập nhật số liệu từ sheet Temp sang để lưu sang các sheet Data tùy điều kiện sau:

Nhờ anh chị viết giúp code tổng hợp để khi bấm vào "Cập nhật" ở sheet "Form" thì sẽ lấy dữ liệu từ sheet "Temp" sang các Sheet "Data" như sau:

Nếu ô B2 của sheet Temp là Data1 thì sẽ lưu dữ liệu ở sheet Temp từ A9:P13 sang sheet Data1 ( lấy số liệu ở File "DangThucTap2")

Nếu ô B2 của sheet Temp là Data2 thì sẽ lưu dữ liệu ở sheet Temp từ A19:S28 sang sheet Data2 (lấy số liệu ở File "DangThucTap3")

Em cảm ơn.

P/s: * Lưu ý code sẽ sử dụng chung cho 2 File
* "Ngày CT" ở các Sheet Data là "trường" yêu cầu bắt buộc phải có
* Tiêu đề ở sheet "Temp" thì tương ứng với sheet "Data1" và "Data2"
* Pass của sheet "Form": 123
Bạn tìm trên diễn đàn đi, đề tài của bạn có nhiều rồi mà!
 
Upvote 0
Em đã tìm và viết code này, code này trong file ví dụ thì chạy tốt nhưng đưa vào File thực tế thì nó không chạy.
Nhờ các anh chị tìm giúp lỗi
Mã:
Sub Capnhat()
    Dim Nguon1 As Range, Nguon2 As Range, Dich1 As Range, Dich2 As Range
    Set Nguon1 = Sheets("Temp").Range("A9:P13")
    Set Nguon2 = Sheets("Temp").Range("A19:S28")
    Set Dich1 = Sheet4.Cells(Sheet4.[A65536].End(xlUp).Row + 1, 1)
    Set Dich2 = Sheet5.Cells(Sheet5.[A65536].End(xlUp).Row + 1, 1)
With Sheets("Temp")
        If Range("B2") = "Data1" Then
            Nguon1.Copy
            Dich1.PasteSpecial Paste:=xlPasteValues
        End If
        If Range("B2") = "Data2" Then
            Nguon2.Copy
            Dich2.PasteSpecial Paste:=xlPasteValues

        End If
    End With
End Sub
Em cảm ơn!
 

File đính kèm

Upvote 0
Em đã tìm và viết code này, code này trong file ví dụ thì chạy tốt nhưng đưa vào File thực tế thì nó không chạy.
Nhờ các anh chị tìm giúp lỗi
Mã:
Sub Capnhat()
    Dim Nguon1 As Range, Nguon2 As Range, Dich1 As Range, Dich2 As Range
    Set Nguon1 = Sheets("Temp").Range("A9:P13")
    Set Nguon2 = Sheets("Temp").Range("A19:S28")
    Set Dich1 = Sheet4.Cells(Sheet4.[A65536].End(xlUp).Row + 1, 1)
    Set Dich2 = Sheet5.Cells(Sheet5.[A65536].End(xlUp).Row + 1, 1)
With Sheets("Temp")
        If Range("B2") = "Data1" Then
            Nguon1.Copy
            Dich1.PasteSpecial Paste:=xlPasteValues
        End If
        If Range("B2") = "Data2" Then
            Nguon2.Copy
            Dich2.PasteSpecial Paste:=xlPasteValues

        End If
    End With
End Sub
Em cảm ơn!
Cái này em đã tìm ra được rồi
Chỉ cần thêm
Sheets("Temp").Select
trước With Sheets("Temp") là được
 
Upvote 0
Cái này em đã tìm ra được rồi
Chỉ cần thêm
Sheets("Temp").Select
trước With Sheets("Temp") là được

làm gì có vụ phải select nó
người ta
Mã:
with
.........
end
thì phải có cái gì thuộc về nó trong đó
tôi thây code bạn có cái gì thuộc về nó đó
ví dụ vậy
Mã:
with sheet1
.[a1]="co tui day"
end with
có nghĩa là cell A1 thuộc sheet1 ="co tui day"
==========
tôi chưa xem file
thử sửa lại code bạn như sua
Mã:
Sub Capnhat()
   
With Sheets("Temp")
        If .Range("B2") = "Data1" Then
            .Range("A9:P13").Copy
           Sheet4.[A65536].End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues
        End If
        If .Range("B2") = "Data2" Then
           .Range("A19:S28").Copy
            Sheet5.[A65536].End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues
        End If
    End With
End Sub
sửa lại vậy mới đúng
 
Lần chỉnh sửa cuối:
Upvote 0
Nhờ các anh chị chỉnh lại code sau
ở sheet "Form" , Khi bấm vào "cập nhật" 2 hay 3 lần liên tiếp thì code sẽ copy số liệu từ Sheet Temp sang dán ở sheet Data1, nhưng nó dán không liên tục (chừa các dòng trắng), em nghỉ các dòng trắng này là do công thức bên sheet Temp trả về trống.
Bây giờ em muốn khi bấm "Cập Nhật" thì sẽ dán liên tục ở sheet Data1 thì em fải sửa code như thế nào
Mã:
Sub Capnhat()
    Dim Nguon1 As Range, Nguon2 As Range, Dich1 As Range, Dich2 As Range
    Set Nguon1 = Sheets("Temp").Range("B9:P13")
    Set Nguon2 = Sheets("Temp").Range("A19:S28")
    Set Dich1 = Sheet4.Cells(Sheet4.[B65536].End(xlUp).Row + 1, 2)
    Set Dich2 = Sheet5.Cells(Sheet5.[A65536].End(xlUp).Row + 1, 1)
    Sheets("Temp").Select
    With Sheets("Temp")
        If Range("B2") = "Data1" Then
            Nguon1.Copy
            Dich1.PasteSpecial Paste:=xlPasteValues
            Sheets("Data1").Select
            Range("A1").Select
        End If
        If Range("B2") = "Data2" Then
            Nguon2.Copy
            Dich2.PasteSpecial Paste:=xlPasteValues
            Sheets("Data2").Select
            Range("A1").Select
        End If
    End With
    'Sheets("Form").Select
    'Range("B2").ClearContents


    Application.CutCopyMode = False
End Sub
Em cảm ơn
 

File đính kèm

Upvote 0
Em nghỉ sẽ thay
Mã:
[COLOR=#000000]Set Nguon1 = Sheets("Temp").Range("B9:P13")[/COLOR]

bằng 1 câu lệnh khác để nó lấy những hàng có dữ liệu kg lấy các dòng trống
Nhờ các anh chị viết dùm câu lệnh. Xin cảm ơn!
 
Upvote 0
Nhờ các anh chị chỉnh lại code sau
ở sheet "Form" , Khi bấm vào "cập nhật" 2 hay 3 lần liên tiếp thì code sẽ copy số liệu từ Sheet Temp sang dán ở sheet Data1, nhưng nó dán không liên tục (chừa các dòng trắng), em nghỉ các dòng trắng này là do công thức bên sheet Temp trả về trống.
Bây giờ em muốn khi bấm "Cập Nhật" thì sẽ dán liên tục ở sheet Data1 thì em fải sửa code như thế nào

tôi sửa code cho bạn rồi mà!!!
góp thêm đoạn code nữa nè
Mã:
Sub Capnhat()
With Sheets("Temp")
    If .Range("B2") = "Data1" Then Sheet4.[A65536].End(xlUp).Offset(1).Resize(5, 13).Value = .Range("A9:P13").Value
    If .Range("B2") = "Data2" Then Sheet5.[A65536].End(xlUp).Offset(1).Resize(10, 19).Value = .Range("A19:S28").Value
End With
End Sub
cột A phải có số liệu nha
 
Upvote 0
tôi sửa code cho bạn rồi mà!!!
góp thêm đoạn code nữa nè
Mã:
Sub Capnhat()
With Sheets("Temp")
    If .Range("B2") = "Data1" Then Sheet4.[A65536].End(xlUp).Offset(1).Resize(5, 13).Value = .Range("A9:P13").Value
    If .Range("B2") = "Data2" Then Sheet5.[A65536].End(xlUp).Offset(1).Resize(10, 19).Value = .Range("A19:S28").Value
End With
End Sub
cột A phải có số liệu nha
1/ Nó kg paste lỉên tục vào sheet Data1 (như đã nói ở bài trên)
2/ Vì là cthức nên có thể cột A kg có số liệu
 
Upvote 0
1/ Nó kg paste lỉên tục vào sheet Data1 (như đã nói ở bài trên)
2/ Vì là cthức nên có thể cột A kg có số liệu

thì nó dò dòng cuối cột A mà???
muốn nó dò dòng cuối cột B thì vậy
Mã:
Sub Capnhat()
With Sheets("Temp")
    If .Range("B2") = "Data1" Then Sheet4.[b65536].End(xlUp).Offset(1, -1).Resize(5, 13).Value = .Range("A9:P13").Value
    If .Range("B2") = "Data2" Then Sheet5.[b65536].End(xlUp).Offset(1, -1).Resize(10, 19).Value = .Range("A19:S28").Value
End With
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom