Copy hàng ngang (có ô bị ẩn) paste thành hàng dọc, nhưng không paste những ô đã bị ẩn

Liên hệ QC

AnhThu-1976

Thành viên tích cực
Tham gia
17/10/14
Bài viết
1,014
Được thích
163
Em chào các Thầy & anh chị,
Tại sheet 1 em có các số liệu, bây giờ em hide cột B và chọn từ ô A1 đến C1 rồi copy
Sang sheet 2 em chọn ô A1 và paste với điều kiện là paste dọc và không paste những ô đã bị hide
Nhờ các Thầy & anh chị giúp em, em cảm ơn!
 

File đính kèm

  • Copy.xlsx
    8.2 KB · Đọc: 4
Em chào các Thầy & anh chị,
Tại sheet 1 em có các số liệu, bây giờ em hide cột B và chọn từ ô A1 đến C1 rồi copy
Sang sheet 2 em chọn ô A1 và paste với điều kiện là paste dọc và không paste những ô đã bị hide
Nhờ các Thầy & anh chị giúp em, em cảm ơn!
Thử thế này xem sao:
Mã:
Sub NT()
    Sheets("Sheet1").Range("A1:C1").SpecialCells(xlCellTypeVisible).Copy
    Sheets("Sheet2").Range("A1").PasteSpecial , Transpose:=True
    Application.CutCopyMode = False
End Sub
 
Upvote 0
Thử thế này xem sao:
Mã:
Sub NT()
    Sheets("Sheet1").Range("A1:C1").SpecialCells(xlCellTypeVisible).Copy
    Sheets("Sheet2").Range("A1").PasteSpecial , Transpose:=True
    Application.CutCopyMode = False
End Sub
Nhưng làm sao chuyển code trên để vào ứng dụng thực tế, vì tên sheet khác và Range nó khác
 
Upvote 0
Nhưng làm sao chuyển code trên để vào ứng dụng thực tế, vì tên sheet khác và Range nó khác
Thì lúc đó mới cần đến mấy thứ khai báo biến Rng as range, Ws as worksheet... và thay nó vào vị trí tương ứng của lệnh trên. Bài đưa lên bài toán cụ thể thì mới xem xét được
 
Upvote 0
Nhờ anh chị trong nhóm giúp đỡ em với ạ.
Em có hạng mục cần đếm số lần xuất hiện trong tháng như file đính kèm.
AC giúp e tạo lệnh được không ạ/
 

File đính kèm

  • Demsolan.xlsx
    10.2 KB · Đọc: 3
Upvote 0
Nhờ anh chị trong nhóm giúp đỡ em với ạ.
Em có hạng mục cần đếm số lần xuất hiện trong tháng như file đính kèm.
AC giúp e tạo lệnh được không ạ/
Vấn đề của bạn chả liên quan gì đến chủ đề bài này. Chen vào như vậy là bất lịch sự. Tự mở cho mình một thớt mà hỏi. Thành viên hơn ba nămn rồi mà chưa biết nữa sao? (hay là mượn tên nít vậy?)
 
Upvote 0
Vấn đề của bạn chả liên quan gì đến chủ đề bài này. Chen vào như vậy là bất lịch sự. Tự mở cho mình một thớt mà hỏi. Thành viên hơn ba nămn rồi mà chưa biết nữa sao? (hay là mượn tên nít vậy?)
Em mượn nick của anh ạ. Chứ a e ko bít.
Ngoài ra, e ko biết đăng bài ở đâu nên em mới viết ở đây ạ.
Có gì sai sót, e xin gỡ bài và tim đúng nơi quy dịnh ạ.
 
Upvote 0
Bài toán cụ thể thì chọn 1 khối ô bất kỳ ở 1 sheet bất kỳ để copy
Sau đó chọn 1 ô bất kỳ ở 1 sheet bất kỳ để paste
Làm vậy bạn dùng thử xem nha:
Mã:
Sub NT()
    Dim sRng As Range, dRng As Range
    On Error Resume Next
    Set sRng = Application.InputBox("Vùng can copy:", "Chon vùng", Type:=8)
    Set dRng = Application.InputBox("Vùng can Paste (chon môt ô):", "Chon vùng", "A1", Type:=8)
    On Error GoTo 0
    If sRng Is Nothing Or dRng Is Nothing Then Exit Sub
    sRng.SpecialCells(xlCellTypeVisible).Copy
    dRng.PasteSpecial , Transpose:=True
    Application.CutCopyMode = False
End Sub
 
Upvote 0
Làm vậy bạn dùng thử xem nha:
Cảm ơn bạn nhiều
Sao không thấy kết quả là paste values luôn nhỉ dù trong code của bạn mình có thấy PasteSpecial
*************
Mình đã sửa được rồi, sửa
dRng.PasteSpecial , Transpose:=True
sửa thành
dRng.PasteSpecial Paste:=xlPasteValues, Transpose:=True
 
Lần chỉnh sửa cuối:
Upvote 0
Bây giờ em muốn thông báo bằng MsgBox là số ô đã chọn
Ở code bài 9, sau khi chọn khối ô bằng
Mã:
Set sRng = Application.InputBox("Vùng can copy:", "Chon vùng", Type:=8)
Thì MsgBox thông báo số ô đã chọn nhưng không tính số ô đã ẩn
Ví dụ: em chọn từ A1 đến C1 ( là 3 ô) nhưng ô B1 đã ẩn thì còn 2 ô, như vậy chỉ thông báo là 2 ô
Em cảm ơn!
***********
Em có thử nghiệm, ở dưới dòng
Mã:
Set sRng = Application.InputBox("Vùng can copy:", "Chon vùng", Type:=8)
Em có thêm
Mã:
MsgBox sRng.Value
nhưng nó không thông báo
 
Upvote 0
Bây giờ em muốn thông báo bằng MsgBox là số ô đã chọn
Ở code bài 9, sau khi chọn khối ô bằng
Mã:
Set sRng = Application.InputBox("Vùng can copy:", "Chon vùng", Type:=8)
Thì MsgBox thông báo số ô đã chọn nhưng không tính số ô đã ẩn
Ví dụ: em chọn từ A1 đến C1 ( là 3 ô) nhưng ô B1 đã ẩn thì còn 2 ô, như vậy chỉ thông báo là 2 ô
Em cảm ơn!
***********
Em có thử nghiệm, ở dưới dòng
Mã:
Set sRng = Application.InputBox("Vùng can copy:", "Chon vùng", Type:=8)
Em có thêm
Mã:
MsgBox sRng.Value
nhưng nó không thông báo
Cuối sub để dòng này vào thử xem sao
Mã:
MsgBox Selection.Cells.Count & " ô da duoc dán"
 
Upvote 0
Web KT
Back
Top Bottom