Paste vào vùng đang dùng filter?

  • Thread starter Thread starter hanbro
  • Ngày gửi Ngày gửi
Liên hệ QC

hanbro

Thành viên mới
Tham gia
2/5/12
Bài viết
6
Được thích
0
Mình có Sheet Nguồn chứa dữ liệu chung, giờ mình dùng Filter lọc dữ liệu sang Sheet Lọc rồi chỉnh sửa sau đó muốn copy dữ liệu đã sửa về lại cái nguồn thì làm thế nào vậy?
Mình đã thử theo mấy cái hướng dẫn copy paste rồi mà ko được, paste bình thường thì nó paste luôn vào các dòng ẩn. Mong được chỉ giáo.
 

File đính kèm

Mình có Sheet Nguồn chứa dữ liệu chung, giờ mình dùng Filter lọc dữ liệu sang Sheet Lọc rồi chỉnh sửa sau đó muốn copy dữ liệu đã sửa về lại cái nguồn thì làm thế nào vậy?
Mình đã thử theo mấy cái hướng dẫn copy paste rồi mà ko được, paste bình thường thì nó paste luôn vào các dòng ẩn. Mong được chỉ giáo.

chắc phải xài vba thôi.........bạn có muốn làm ko?
 
Đơn giản nhất là như này... Tạo thêm cột phụ... Những cái nào thỏa điều kiện thì để 1 nội dung nào đó... chẳng hạn số 1... Còn ko thỏa thì đừng để giá trị vào...
Sau đó soft cả cái bảng đó... Bao gồm cả cột phụ
Sau đó select những dòng nào có cột thỏa điều kiện là 1 sang sheet khác... sửa... paste lại... không dùng filter nữa
 
Lần chỉnh sửa cuối:
nếu bạn biết chỉ mình với vì thật sự rất cần, copy từng ô cả ngàn dòng chắc chết. Mà mình ko biết 1 chữ vba chỉ biết cách chạy thôi @#!^%

thử xem nha
Mã:
Option Explicit
Sub Gansolieu()
Dim loc, Nguon As Variant, i As Long, locRng, NguonRng As Range
On Error Resume Next

Set locRng = Application.InputBox(prompt:="Chon vung loc", Type:=8)
If Err Then MsgBox "ban khong chon du lieu vung loc":       Exit Sub

Set NguonRng = Application.InputBox(prompt:="Chon vung chep den", Type:=8)
If Err Then MsgBox "ban khong chon vung chep den": Exit Sub

If locRng.Columns.Count <> NguonRng.Columns.Count Then MsgBox "not same size": Exit Sub
ActiveSheet.ShowAllData

loc = locRng.Value
Nguon = NguonRng.Value

For i = 1 To UBound(loc)
    Nguon(loc(i, 1), 2) = loc(i, 3)
Next
NguonRng.Value = Nguon
End Sub
 
Lần chỉnh sửa cuối:
Mình có Sheet Nguồn chứa dữ liệu chung, giờ mình dùng Filter lọc dữ liệu sang Sheet Lọc rồi chỉnh sửa sau đó muốn copy dữ liệu đã sửa về lại cái nguồn thì làm thế nào vậy?
Mình đã thử theo mấy cái hướng dẫn copy paste rồi mà ko được, paste bình thường thì nó paste luôn vào các dòng ẩn. Mong được chỉ giáo.
thực hiện quá trình trên dễ nhầm lắm bạn ơi. khi xưa tui làm ở phòng kế toán, chỉ có việc lọc 5%, 10% mấy cái hóa đơn mà phải xài VBA mới ổn. trước đó bạn khác làm cái này, sát ngày báo thuế cứ đưa lên là bị KTT xé cái xoạt.
 
Đơn giản nhất là như này... Tạo thêm cột phụ... Những cái nào thỏa điều kiện thì để 1 nội dung nào đó... chẳng hạn số 1... Còn ko thỏa thì đừng để giá trị vào...
Sau đó soft cả cái bảng đó... Bao gồm cả cột phụ
Sau đó select những dòng nào có cột thỏa điều kiện là 1 sang sheet khác... sửa... paste lại... không dùng filter nữa
cách này mình cũng biết nhưng ở đây mình muốn giữ nguyên hiện trạng chứ ko muốn sort -0-/.

thử xem nha
Mã:
Option Explicit
Sub Gansolieu()
Dim loc, Nguon As Variant, i As Long, locRng, NguonRng As Range
On Error Resume Next

Set locRng = Application.InputBox(prompt:="Chon vung loc", Type:=8)
If Err Then MsgBox "ban khong chon du lieu vung loc":       Exit Sub

Set NguonRng = Application.InputBox(prompt:="Chon vung chep den", Type:=8)
If Err Then MsgBox "ban khong chon vung chep den": Exit Sub

If locRng.Columns.Count <> NguonRng.Columns.Count Then MsgBox "not same size": Exit Sub
ActiveSheet.ShowAllData

loc = locRng.Value
Nguon = NguonRng.Value

For i = 1 To UBound(loc)
    Nguon(loc(i, 1), 2) = loc(i, 3)
Next
NguonRng.Value = Nguon
End Sub

cảm ơn bạn, mình thử rồi, đoạn này ko chạy được bạn ơi

thực hiện quá trình trên dễ nhầm lắm bạn ơi. khi xưa tui làm ở phòng kế toán, chỉ có việc lọc 5%, 10% mấy cái hóa đơn mà phải xài VBA mới ổn. trước đó bạn khác làm cái này, sát ngày báo thuế cứ đưa lên là bị KTT xé cái xoạt.

vì công việc đành phải mò cách thôi //**/
 
Lần chỉnh sửa cuối:
Mình có Sheet Nguồn chứa dữ liệu chung, giờ mình dùng Filter lọc dữ liệu sang Sheet Lọc rồi chỉnh sửa sau đó muốn copy dữ liệu đã sửa về lại cái nguồn thì làm thế nào vậy?
Mình đã thử theo mấy cái hướng dẫn copy paste rồi mà ko được, paste bình thường thì nó paste luôn vào các dòng ẩn. Mong được chỉ giáo.

  1. Bôi vùng cần copy nhấn Ctrl + G chọn special, chọn visible cells only
  2. Chạy marco:
    Mã:
    Sub cuchuoi()Set from = Selection
    Set too = Application.InputBox("Select range to copy selected cells to", Type:=8)
    For Each cell In from
    cell.Copy
    For Each thing In too
    If thing.EntireRow.RowHeight > 0 Then
    thing.PasteSpecial Paste:=xlPasteValues
    Set too = thing.Offset(1).Resize(too.Rows.Count)
    Exit For
    End If
    Next
    Next
    End Sub
  3. Chọn vùng cần paste rồi nhấn ok.
 
Lần chỉnh sửa cuối:
  1. Bôi vùng cần copy nhấn Ctrl + G chọn special, chọn visible cells only
  2. Chạy marco:
    Mã:
    Sub cuchuoi()Set from = Selection
    Set too = Application.InputBox("Select range to copy selected cells to", Type:=8)
    For Each cell In from
    cell.Copy
    For Each thing In too
    If thing.EntireRow.RowHeight > 0 Then
    thing.PasteSpecial Paste:=xlPasteValues
    Set too = thing.Offset(1).Resize(too.Rows.Count)
    Exit For
    End If
    Next
    Next
    End Sub
  3. Chọn vùng cần paste rồi nhấn ok.
chạy tốt khi chọn từng cột /-*+/ cảm ơn bạn
 
Cái này mình làm hơi thủ công 1 tí, kết hợp Fil, Sort, If và Vlookup ^^ (tại mình không biết viết VBA nên hay nghĩ cách ghép những hàm đơn giản lại với nhau - hơi mất thời gian nhưng lần sau thì chỉ việc cop dữ liệu và paste vào cái bảng excel lần trước)
Giả sử như cho 1 cột các giá trị của chủ thớt là cột B. (cho là 10 số đi)
1) Tạo 1 cột Thứ tự tại cột A, đánh số từ 1 đến 10. Đồng thời tạo thêm 1 cột thứ tự tại cột E cũng từ 1 - 10 (để lát dùng vlookup)
2) Filter để lọc ra các ô cần thay giá trị
3) Dùng hàm If tại cột C để cho các giá trị thỏa điều kiện thì lấy 1 (các ô cần phải thay giá trị), không thỏa lấy 0
4) Quét chọn từ A đến C, Sort theo cột C, từ nhỏ đến lớn (ngược lại cũng được), cop giá trị vào các ô cần thay. (bước này nhằm đưa các giá trị cần thay về thành 1 dãy cho tiện việc paste số liệu)
5) Dùng Vlookup tại cột F theo số thứ tự tại cột E và quét chọn bảng từ cột A đến cột B, vậy là ta có 1 cột theo thứ tự ban đầu và các giá trị đã được thay vào.

Không biết có sai sót gì không. Mong các bác chỉ giáo thêm
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom