Copy dữ liệu bên ngoài vào bảng filter (5 người xem)

Liên hệ QC

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

kobebryant

Thành viên thường trực
Tham gia
7/8/09
Bài viết
248
Được thích
28
Cho em hỏi có code nào chép dữ liệu bên ngoài vào bảng đã Filter mà ko làm ảnh hưởng đến các dòng ko được lọc (hoặc kể cả dòng ẩn) ko.
Ví dụ: Ở cột A em đã Filter để lấy mã Táo ở các dòng 1/5/8, nhưng em muốn thay mã này bằng Khế là 3 dòng liên tục 100/101/102. Nếu Copy thông thường thì nó sẽ Copy luôn vào các dòng ko lọc/ẩn

[TABLE="class: grid, width: 250"]
[TR]
[TD][/TD]
[TD]A (Cột Filter)[/TD]
[/TR]
[TR]
[TD]1[/TD]
[TD]Táo[/TD]
[/TR]
[TR]
[TD]5[/TD]
[TD]Táo[/TD]
[/TR]
[TR]
[TD]8[/TD]
[TD]Táo[/TD]
[/TR]
[TR]
[TD]20[/TD]
[TD]Kết thúc[/TD]
[/TR]
[TR]
[TD]....[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]100[/TD]
[TD]Khế[/TD]
[/TR]
[TR]
[TD]101[/TD]
[TD]Khế[/TD]
[/TR]
[TR]
[TD]102[/TD]
[TD]Khế[/TD]
[/TR]
[/TABLE]
 
Cho em hỏi có code nào chép dữ liệu bên ngoài vào bảng đã Filter mà ko làm ảnh hưởng đến các dòng ko được lọc (hoặc kể cả dòng ẩn) ko.
Ví dụ: Ở cột A em đã Filter để lấy mã Táo ở các dòng 1/5/8, nhưng em muốn thay mã này bằng Khế là 3 dòng liên tục 100/101/102. Nếu Copy thông thường thì nó sẽ Copy luôn vào các dòng ko lọc/ẩn

[TABLE="class: grid, width: 250"]
[TR]
[TD][/TD]
[TD]A (Cột Filter)[/TD]
[/TR]
[TR]
[TD]1[/TD]
[TD]Táo[/TD]
[/TR]
[TR]
[TD]5[/TD]
[TD]Táo[/TD]
[/TR]
[TR]
[TD]8[/TD]
[TD]Táo[/TD]
[/TR]
[TR]
[TD]20[/TD]
[TD]Kết thúc
[/TD]
[/TR]
[TR]
[TD]....[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]100[/TD]
[TD]Khế[/TD]
[/TR]
[TR]
[TD]101[/TD]
[TD]Khế[/TD]
[/TR]
[TR]
[TD]102[/TD]
[TD]Khế[/TD]
[/TR]
[/TABLE]


Chào bạn. Vẫn có thể làm được điều này.
HTML:
Sub FindVisible()
Dim iBienChay As Range
Dim rNg As Range
Dim i As Integer
Set rNg = Range("B3:B10").SpecialCells(xlCellTypeVisible)
For Each iBienChay In rNg
i = i + 1
    iBienChay.Value = Cells(i + 13, "J").Value
    
Next iBienChay


End Sub

Mong các Thầy góp ý.
 

File đính kèm

Chào bạn. Vẫn có thể làm được điều này.
HTML:
Sub FindVisible()
Dim iBienChay As Range
Dim rNg As Range
Dim i As Integer
Set rNg = Range("B3:B10").SpecialCells(xlCellTypeVisible)
For Each iBienChay In rNg
i = i + 1
    iBienChay.Value = Cells(i + 13, "J").Value
    
Next iBienChay


End Sub

Mong các Thầy góp ý.

Cám ơn bạn, mình thấy có vẻ ok rồi
 
Lần chỉnh sửa cuối:
À phuyen89 ơi cho mình hỏi nếu như nhiều cột thì mình sửa code thế nào
Ví dụ

[TABLE="class: grid, width: 400"]
[TR]
[TD][/TD]
[TD]A
[/TD]
[TD]B
[/TD]
[TD]C
[/TD]
[/TR]
[TR]
[TD]1
[/TD]
[TD]Táo
[/TD]
[TD]Kg
[/TD]
[TD]Sáng
[/TD]
[/TR]
[TR]
[TD]5
[/TD]
[TD]Táo
[/TD]
[TD]Kg
[/TD]
[TD]Sáng
[/TD]
[/TR]
[TR]
[TD]8
[/TD]
[TD]Táo
[/TD]
[TD]Kg
[/TD]
[TD]Sáng
[/TD]
[/TR]
[TR]
[TD][/TD]
[TD]Kết thúc
[/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD]Lấy dữ liệu từ Sheet khác cũng ở vị trí
dòng và cột giống Sheet Filter
[/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]1
[/TD]
[TD]Khế
[/TD]
[TD]Tạ
[/TD]
[TD]Trưa
[/TD]
[/TR]
[TR]
[TD]5
[/TD]
[TD]Khế
[/TD]
[TD]Tạ
[/TD]
[TD]Trưa
[/TD]
[/TR]
[TR]
[TD]8
[/TD]
[TD]Khế
[/TD]
[TD]Tạ
[/TD]
[TD]Trưa
[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[/TABLE]
 
À phuyen89 ơi cho mình hỏi nếu như nhiều cột thì mình sửa code thế nào
Ví dụ

[TABLE="class: grid, width: 400"]
[TR]
[TD][/TD]
[TD]A[/TD]
[TD]B[/TD]
[TD]C[/TD]
[/TR]
[TR]
[TD]1[/TD]
[TD]Táo[/TD]
[TD]Kg[/TD]
[TD]Sáng[/TD]
[/TR]
[TR]
[TD]5[/TD]
[TD]Táo[/TD]
[TD]Kg[/TD]
[TD]Sáng[/TD]
[/TR]
[TR]
[TD]8[/TD]
[TD]Táo[/TD]
[TD]Kg[/TD]
[TD]Sáng[/TD]
[/TR]
[TR]
[TD][/TD]
[TD]Kết thúc[/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD]Lấy dữ liệu từ Sheet khác cũng ở vị trí
dòng và cột giống Sheet Filter[/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]1[/TD]
[TD]Khế[/TD]
[TD]Tạ[/TD]
[TD]Trưa[/TD]
[/TR]
[TR]
[TD]5[/TD]
[TD]Khế[/TD]
[TD]Tạ[/TD]
[TD]Trưa[/TD]
[/TR]
[TR]
[TD]8[/TD]
[TD]Khế[/TD]
[TD]Tạ[/TD]
[TD]Trưa[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[/TABLE]


PHP:
Sub FindVisible()
Dim iBienChay As Range
Dim rNg As Range
Dim rNg2 As Range
Dim i As Integer
Dim j As Integer
Set rNg = Range("B3:B10").SpecialCells(xlCellTypeVisible)
Set rNg2 = Range("C3:C10").SpecialCells(xlCellTypeVisible)
For Each iBienChay In rNg
i = i + 1
    iBienChay.Value = Cells(i + 13, "J").Value
    
Next iBienChay
For Each iBienChay In rNg2
i = j + 1
    iBienChay.Value = Cells(j + 13, "K").Value
    
Next iBienChay


End Sub

Code này không phải tốt, những vẫn tạm thời chạy được.Bạn thêm dữ liệu vào cột K nhé!
 
PHP:
Sub FindVisible()
Dim iBienChay As Range
Dim rNg As Range
Dim rNg2 As Range
Dim i As Integer
Dim j As Integer
Set rNg = Range("B3:B10").SpecialCells(xlCellTypeVisible)
Set rNg2 = Range("C3:C10").SpecialCells(xlCellTypeVisible)
For Each iBienChay In rNg
i = i + 1
    iBienChay.Value = Cells(i + 13, "J").Value
    
Next iBienChay
For Each iBienChay In rNg2
i = j + 1
    iBienChay.Value = Cells(j + 13, "K").Value
    
Next iBienChay


End Sub

Code này không phải tốt, những vẫn tạm thời chạy được.Bạn thêm dữ liệu vào cột K nhé!

Code này nó ko chạy được bạn ơi, nó vẫn chỉ chạy được 1 cột chứ ráp nhiều cột vào tương ứng nhiều cột trong bảng Filter

Mình nghĩ code này nhưng ko biết làm sao để nó thay dữ liệu bảng Filter Sheet này bằng dữ liệu bảng ở Sheet khác
Mã:
Dim R As Integer
    Dim Cll As Range, rNg As Range
    
     R = Range("DongDeChanLai").Row - 1
    Set rNg = Sheets("A").Range("G9:N" & R).SpecialCells(xlCellTypeVisible)

    For Each Cll In rNg
'Cho này mình ko biết làm sao cho nó lấy số ở sheet khác cùng tọa độ
            Cll.Offset(0,0) = Sheets("SheetDung").Cll.Offset(0,0)  -----Ở đây là cột 1
'            Cll.Offset(, 1) = Sheets("SheetDung").Cll.Offset(, 1)
'            Cll.Offset(, 2) = Sheets("SheetDung").Cll.Offset(, 2)
'            Cll.Offset(, 3) = Sheets("SheetDung").Cll.Offset(, 3) ----- Cho đến Cột thứ 4 cần copy
        
    Next Cll
 
Lần chỉnh sửa cuối:
Nhìn Code ngắn nhưng ko hiểu gì hết bạn ơi }}}}} haha
Cám ơn các bạn nhiệt tình giúp đỡ mình đã cho nó chạy ok rồi.
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom