cắt dữ liệu từ sheet nay sang sheet khác

Liên hệ QC

Gà excel 123

Thành viên mới
Tham gia
11/4/22
Bài viết
7
Được thích
0
Dạ e chào anh chị, e có truong hợp này. Có 1 file Data nhan vien, khi nhan vien nghĩ thì e muốn tích chọn vào nhan vien đó (hoặc chuyen trạng thái off) . khi bấm nút cập nhật thì tự động cắt dòng nhan vien off sang Sheet nghĩ viec. giup e với. e nạp card ủng hộ ạ. đa tạ đa tạ.
 
Dạ e chào anh chị, e có truong hợp này. Có 1 file Data nhan vien, khi nhan vien nghĩ thì e muốn tích chọn vào nhan vien đó (hoặc chuyen trạng thái off) . khi bấm nút cập nhật thì tự động cắt dòng nhan vien off sang Sheet nghĩ viec. giup e với. e nạp card ủng hộ ạ. đa tạ đa tạ.
Tích chọn hay nút chuyển trang thái đều có nguy cơ lớn;
(Mỗi nhân viên (NV) ntrong đơn vị đều có mã NV)
Vậy ít nguy cơ sẽ là: Nhập mã NV đó & bấm nút xác nhận chuyển
Ví dụ:

STTMã NVHọ & TênNSCVVHBT....
1BXT00Bùi Xuân Thắm
2BXT01Bùi Thị Xuân Thành
3CCH00Châu Chấn Huy
4CJL00Cù Lân
5CMN00Công Tằng Tôn Nữ Minh Nguyệt
6CNM00Công Tằng Tôn Nữ Nguyệt Minh
7CNS00Chu Ngọc Sơn
8CVA00Cỗ Văn Ẩn
9DAH00Dương Ánh Hòa
10FFD00Đào Đức Dương
11FFD01Đỗ Đăng Dung
12FLT00Đinh La Thăng
13LCM00Lê Công Minh
14LCM01Lã Chí Mai
15LCT00Lê Công Thành
16NHB00Nguyễn Hòa Bình
17NHB01Ngô Thị Hòa Biền
18NHB02Nhữ Thái Hải Hà
19THH00Trần Minh Hồng Hà
20​
TJD00Trần Dương
21​
TMH00Trần Minh Hồng
22​
TMH01Từ Mạnh Hóa
23​
TMH02Trần Minh Hà
24​
TMH03Tạ Thị Minh Hà
25​
TMH04Trần Thị Minh Hà
26​
TTT00Từ Thanh Tuấn
27​
TTT01Trần Thành Trai
 
Upvote 0
Dạ e chào anh chị, e có truong hợp này. Có 1 file Data nhan vien, khi nhan vien nghĩ thì e muốn tích chọn vào nhan vien đó (hoặc chuyen trạng thái off) . khi bấm nút cập nhật thì tự động cắt dòng nhan vien off sang Sheet nghĩ viec. giup e với. e nạp card ủng hộ ạ. đa tạ đa tạ.
Bạn gửi file của bạn với dữ liệu giả lập lên xem thế nào.
 
Upvote 0
Bạn gửi file của bạn với dữ liệu giả lập lên xem thế nào.
Bạn gửi file của bạn với dữ liệu giả lập lên xem thế nào.
Bạn gửi file của bạn với dữ liệu giả lập lên xem thế nào.
Dạ e gửi anh nhé, hỗ trợ hỗ trợ...đa tạ sư huynh
 

File đính kèm

  • test.xlsx
    28.4 KB · Đọc: 6
Upvote 0
Dạ e gửi anh nhé, hỗ trợ hỗ trợ...đa tạ sư huynh
Ở sheet1 ô P1:p2 bạn thêm dữ liệu như này nhé, rồi chạy code phía dưới.
(Ở trạng thái thì theo mình dùng từ Nghỉ sẽ đúng hơn nhé)
1663931174430.png
PHP:
Sub Loc()
    Dim lr As Integer
    
    lr = Sheet1.Range("B" & Rows.Count).End(xlUp).Row
    Sheet1.Range("A2:J" & lr).AdvancedFilter xlFilterCopy, Sheet1.Range("P1:P2"), Sheet2.Range("A2:J2"), False
End Sub
 
Upvote 0
Ở sheet1 ô P1:p2 bạn thêm dữ liệu như này nhé, rồi chạy code phía dưới.
(Ở trạng thái thì theo mình dùng từ Nghỉ sẽ đúng hơn nhé)
View attachment 281273
PHP:
Sub Loc()
    Dim lr As Integer
   
    lr = Sheet1.Range("B" & Rows.Count).End(xlUp).Row
    Sheet1.Range("A2:J" & lr).AdvancedFilter xlFilterCopy, Sheet1.Range("P1:P2"), Sheet2.Range("A2:J2"), False
End Sub
Đúng là chuyển qua sheet khác nhưng là copy rồi. Em muốn khi chuyển qua sẽ xóa dữ liệu sheet 1 luôn ák sếp. hì hì
 
Upvote 0
Giữ nguyên dữ liệu ở ô P1: P2

PHP:
Sub Chuyen_du_lieu()
    Dim lr As Integer, i As Integer, j As Integer, R1 As Integer, R2 As Integer, Col As Integer
    Dim sArr(), dArr(), eArr()
    Dim Nghi As String
    
    Application.ScreenUpdating = False
    
    With Sheet1
        Nghi = .Range("P2").Value
        If .AutoFilterMode = True Then .AutoFilterMode = False
        lr = .Range("B" & Rows.Count).End(xlUp).Row
        sArr = .Range("A3:J" & lr).Value2
        Col = UBound(sArr, 2)
        ReDim dArr(1 To UBound(sArr, 1), 1 To Col)
        ReDim eArr(1 To UBound(sArr, 1), 1 To Col)
        For i = 1 To UBound(sArr, 1)
            If sArr(i, 10) <> Nghi Then
                R1 = R1 + 1
                For j = 1 To Col
                    dArr(R1, j) = sArr(i, j)
                Next j
            Else
                R2 = R2 + 1
                For j = 1 To Col
                    eArr(R2, j) = sArr(i, j)
                Next j
            End If
        Next i
        .Range("A3:J" & lr).ClearContents
        .Range("A3").Resize(R1, Col).Value = dArr
    End With
    
    With Sheet2
        If .AutoFilterMode = True Then .AutoFilterMode = False
        lr = .Range("B" & Rows.Count).End(xlUp).Row + 1
        If R2 > 0 Then .Range("A" & lr).Resize(R2, Col).Value = eArr
    End With
    Application.ScreenUpdating = True
End Sub
 
Upvote 0
Giữ nguyên dữ liệu ở ô P1: P2

PHP:
Sub Chuyen_du_lieu()
    Dim lr As Integer, i As Integer, j As Integer, R1 As Integer, R2 As Integer, Col As Integer
    Dim sArr(), dArr(), eArr()
    Dim Nghi As String
   
    Application.ScreenUpdating = False
   
    With Sheet1
        Nghi = .Range("P2").Value
        If .AutoFilterMode = True Then .AutoFilterMode = False
        lr = .Range("B" & Rows.Count).End(xlUp).Row
        sArr = .Range("A3:J" & lr).Value2
        Col = UBound(sArr, 2)
        ReDim dArr(1 To UBound(sArr, 1), 1 To Col)
        ReDim eArr(1 To UBound(sArr, 1), 1 To Col)
        For i = 1 To UBound(sArr, 1)
            If sArr(i, 10) <> Nghi Then
                R1 = R1 + 1
                For j = 1 To Col
                    dArr(R1, j) = sArr(i, j)
                Next j
            Else
                R2 = R2 + 1
                For j = 1 To Col
                    eArr(R2, j) = sArr(i, j)
                Next j
            End If
        Next i
        .Range("A3:J" & lr).ClearContents
        .Range("A3").Resize(R1, Col).Value = dArr
    End With
   
    With Sheet2
        If .AutoFilterMode = True Then .AutoFilterMode = False
        lr = .Range("B" & Rows.Count).End(xlUp).Row + 1
        If R2 > 0 Then .Range("A" & lr).Resize(R2, Col).Value = eArr
    End With
    Application.ScreenUpdating = True
End Sub
Dạ được rồi sếp ơi, gửi mail e xin số đt nhé.
 
Upvote 0
Upvote 0
Web KT

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

Back
Top Bottom