Hỏi về code copy dòng (1 người xem)

Liên hệ QC

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

nguyenkhoadng

Thành viên hoạt động
Tham gia
15/6/11
Bài viết
179
Được thích
30
Mình có đoạn code bên dưới mục đích để copy dòng từ sheet khác qua sheet hiện hành. nhưng nó chỉ copy dữ liệu thôi, còn các định dạng khác thì ko copy được.
giờ mình muốn copy luôn định dạng (đặc biệt là chiều cao, chiều rộng, ...) của dòng đó như thế nào thì copy qua như thế đó.
muốn vậy thì phải sửa đoạn code này như thế nào nhờ các bạn trên GPE giúp với.
Mình cảm ơn!

Mã:
Sub Copy()Dim i As Integer
Dim rng As Range
Application.ScreenUpdating = False
i = Range("B65500").End(xlUp).Row + 1
If i <= 11 Then i = 11
For Each rng In Range("B11:B" & i)
   If rng.Value = "" Then
     i = rng.Row
     Exit For
   End If
Next
   ThisWorkbook.Sheets("THU-VIEN").Range("A7:R7").Copy
    Range("A" & i).Select
    ActiveWorkbook.ActiveSheet.Paste
Application.ScreenUpdating = True
End Sub
 
Mình có đoạn code bên dưới mục đích để copy dòng từ sheet khác qua sheet hiện hành. nhưng nó chỉ copy dữ liệu thôi, còn các định dạng khác thì ko copy được.
giờ mình muốn copy luôn định dạng (đặc biệt là chiều cao, chiều rộng, ...) của dòng đó như thế nào thì copy qua như thế đó.
muốn vậy thì phải sửa đoạn code này như thế nào nhờ các bạn trên GPE giúp với.
Mình cảm ơn!

Mã:
Sub Copy()Dim i As Integer
Dim rng As Range
Application.ScreenUpdating = False
i = Range("B65500").End(xlUp).Row + 1
If i <= 11 Then i = 11
For Each rng In Range("B11:B" & i)
   If rng.Value = "" Then
     i = rng.Row
     Exit For
   End If
Next
   ThisWorkbook.Sheets("THU-VIEN").Range("A7:R7").Copy
    Range("A" & i).Select
    ActiveWorkbook.ActiveSheet.Paste
Application.ScreenUpdating = True
End Sub
Code của bạn thừa nhiều quá!!!
 
Upvote 0
Code của bạn thừa nhiều quá!!!

Bạn thông cảm, đối với code mình mù mờ lắm. tất cả đều là từ sự giúp đỡ của các anh chị trên GPE, và 1 số ít là lượm nhặt, chắp vá thôi.
Đoạn code trên thừa những gì, rút gọn ra sao bạn có thể góp ý để mình biết ko?
Mình cảm ơn!
 
Upvote 0
Theo mình nghĩ thì thế này là tạm ổn:
PHP:
Sub Copy()
Dim i
Application.ScreenUpdating = False
Worksheets("THU-VIEN").Range("A7:R7").Copy
For i = 11 To 65536
    If Range("B" & i).Value = "" Then
        Range("A" & i).Select
        ActiveWorkbook.ActiveSheet.Paste
        Application.ScreenUpdating = True
        Exit Sub
    End If
Next i
End Sub
 
Upvote 0
Mình có đoạn code bên dưới mục đích để copy dòng từ sheet khác qua sheet hiện hành. nhưng nó chỉ copy dữ liệu thôi, còn các định dạng khác thì ko copy được.
giờ mình muốn copy luôn định dạng (đặc biệt là chiều cao, chiều rộng, ...) của dòng đó như thế nào thì copy qua như thế đó.
muốn vậy thì phải sửa đoạn code này như thế nào nhờ các bạn trên GPE giúp với.
Mình cảm ơn!

Mã:
Sub Copy()Dim i As Integer
Dim rng As Range
Application.ScreenUpdating = False
i = Range("B65500").End(xlUp).Row + 1
If i <= 11 Then i = 11
For Each rng In Range("B11:B" & i)
   If rng.Value = "" Then
     i = rng.Row
     Exit For
   End If
Next
   ThisWorkbook.Sheets("THU-VIEN").Range("A7:R7").Copy
    Range("A" & i).Select
    ActiveWorkbook.ActiveSheet.Paste
Application.ScreenUpdating = True
End Sub
hôm qua có nguyên cứu câu hỏi của bạn nhưng tìm hoài chỉ được cái chiều rộng cột, còn chiều rộng theo dòng thì bó tay !
 
Upvote 0
Mình có đoạn code bên dưới mục đích để copy dòng từ sheet khác qua sheet hiện hành. nhưng nó chỉ copy dữ liệu thôi, còn các định dạng khác thì ko copy được.
giờ mình muốn copy luôn định dạng (đặc biệt là chiều cao, chiều rộng, ...) của dòng đó như thế nào thì copy qua như thế đó.
muốn vậy thì phải sửa đoạn code này như thế nào nhờ các bạn trên GPE giúp với.
Mình cảm ơn!

Mã:
Sub Copy()Dim i As Integer
Dim rng As Range
Application.ScreenUpdating = False
i = Range("B65500").End(xlUp).Row + 1
If i <= 11 Then i = 11
For Each rng In Range("B11:B" & i)
   If rng.Value = "" Then
     i = rng.Row
     Exit For
   End If
Next
   ThisWorkbook.Sheets("THU-VIEN").Range("A7:R7").Copy
    Range("A" & i).Select
    ActiveWorkbook.ActiveSheet.Paste
Application.ScreenUpdating = True
End Sub
Có phải vầy không
PHP:
Sub Copy()
Sheets("THU-VIEN").[A7:R7].Copy [A65536].End(3).Offset(1)
End Sub
 
Upvote 0
Có phải vầy không
PHP:
Sub Copy()
Sheets("THU-VIEN").[A7:R7].Copy [A65536].End(3).Offset(1)
End Sub
Em nghĩ không đúng rồi anh QuangHai ạ! Code của bạn ý chỉ rõ 2 vấn đề:
1. Copy từ sheet này qua sheet kia chứ không phải copy rồi paste trên cùng sheet, vì nếu cùng sheet thì không cần gọi tên sheet Thu-vien ra làm gì, mà nếu có thì activate nó ngay từ đầu code rồi.
2. Dòng cần paste là một dòng trống trong khoảng các dòng đang dùng chứ không phải là dòng cuối cùng!
 
Upvote 0
hôm qua có nguyên cứu câu hỏi của bạn nhưng tìm hoài chỉ được cái chiều rộng cột, còn chiều rộng theo dòng thì bó tay !

Mình tìm được đoạn code này xem có giúp được gì cho việc ngâm cứu của bạn ko:
Mã:
[COLOR=#000000][FONT=Verdana]Sub TestSize()[/FONT][/COLOR][COLOR=#000000][FONT=Verdana]'Set Variables
Dim cellHeight As Double
Dim cellwidth As Double
' Read the height and width of cell A1
cellHeight = Range("a1").Height
cellwidth = Range("a1").Width[/FONT][/COLOR]
[COLOR=#000000][FONT=Verdana]'Tell you what the height and width is.
MsgBox "The height is: " & cellHeight
MsgBox "the width is: " & cellwidth[/FONT][/COLOR]
[COLOR=#000000][FONT=Verdana]'Change the value of the height and width
cellHeight = cellHeight + 20
cellwidth = cellwidth + 20
'Set A1 to the new height and width
Range("a1").RowHeight = cellHeight
Range("a1").ColumnWidth = cellwidth[/FONT][/COLOR]
[COLOR=#000000][FONT=Verdana]End Sub[/FONT][/COLOR]

Nguồn: từ đây

Chúc vui!
 
Upvote 0
Theo mình nghĩ thì thế này là tạm ổn:
PHP:
Sub Copy()
Dim i
Application.ScreenUpdating = False
Worksheets("THU-VIEN").Range("A7:R7").Copy
For i = 11 To 65536
    If Range("B" & i).Value = "" Then
        Range("A" & i).Select
        ActiveWorkbook.ActiveSheet.Paste
        Application.ScreenUpdating = True
        Exit Sub
    End If
Next i
End Sub

Đúng là tạm ổn thật.
Mình cảm ơn!
 
Upvote 0

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

Back
Top Bottom