Xin giúp đỡ việc Copy tự động trong Excel. (1 người xem)

Liên hệ QC

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

tandungcn

Thành viên mới
Tham gia
2/5/08
Bài viết
4
Được thích
2
Xin chào mọi người,

Mình có vấn đề về việc copy tự động trong Excel, mong mọi người giúp đỡ.

*) Diễn giải:

Có các ô:
  • A1 = 123
  • A5 = 567
  • A11 = 748
  • A16 = 324
  • ....
Bây giờ mình muốn được A2,A3,A4 = 123; A6,A7,A8,A9,A10 = 567; A12,A13,A14,A15 = 748; ...

Mong mọi người có thể chỉ cách nào tự động điền các giá trị vào các ô từ A2->A4, A6->A10, A12->A15 ?
Chân thành cảm ơn!

P/S: Em có gửi file đính kèm.
 

File đính kèm

Xin chào mọi người,

Mình có vấn đề về việc copy tự động trong Excel, mong mọi người giúp đỡ.

*) Diễn giải:

Có các ô:
  • A1 = 123
  • A5 = 567
  • A11 = 748
  • A16 = 324
  • ....
Bây giờ mình muốn được A2,A3,A4 = 123; A6,A7,A8,A9,A10 = 567; A12,A13,A14,A15 = 748; ...

Mong mọi người có thể chỉ cách nào tự động điền các giá trị vào các ô từ A2->A4, A6->A10, A12->A15 ?
Chân thành cảm ơn!

P/S: Em có gửi file đính kèm.

bạn tải file đính kèm, run Macro ! click Button1 rồi ... :bounce:

Mã:
Sub FillSameCell()
Dim WorkRng As Range, Rng As Range, tmpRng As Variant
    
    Application.ScreenUpdating = False
    
    Set WorkRng = Range("B1:B18")
    
    For Each Rng In WorkRng
        If Rng <> "" Then
            tmpRng = Rng.Value
        Else
            Rng = tmpRng
        End If
    Next
    
    Application.ScreenUpdating = True
End Sub
 

File đính kèm

Upvote 0
Chào bạn,

Sáng nay nhận được đáp án của bạn, mình quá mừng luôn. Rất vui, cám ơn bạn phucbugis nhiều nhen.

-=.,,
 
Upvote 0
bạn tải file đính kèm, run Macro ! click Button1 rồi ... :bounce:

Mã:
Sub FillSameCell()
Dim WorkRng As Range, Rng As Range, tmpRng As Variant
    
    Application.ScreenUpdating = False
    
    Set WorkRng = Range("B1:B18")
    
    For Each Rng In WorkRng
        If Rng <> "" Then
            tmpRng = Rng.Value
        Else
            Rng = tmpRng
        End If
    Next
    
    Application.ScreenUpdating = True
End Sub


Xin chào,

Rất vui vì đã áp dụng thành công đoạn mã code của bạn phucbugis rồi.

Tuy nhiên còn một bổ sung sau, mong bạn giúp giùm để hoàn thiện hơn file tính toán này nhé:


  1. Sau ô A16 (nếu hết giá trị để copy) thì chỉ cần copy giá trị 324 thêm một số dòng nữa thôi (khoảng 20 dòng).
  2. Và sau khi chạy lệnh Macro này thì mình muốn undo lại để xoá các giá trị vừa được điền vào. Có nghĩa là trở lại trạng thái ban đầu của file đó.

Cám ơn bạn đã giúp đỡ.
 
Upvote 0
Xin chào,
Rất vui vì đã áp dụng thành công đoạn mã code của bạn phucbugis rồi.
Tuy nhiên còn một bổ sung sau, mong bạn giúp giùm để hoàn thiện hơn file tính toán này nhé:

  1. Sau ô A16 (nếu hết giá trị để copy) thì chỉ cần copy giá trị 324 thêm một số dòng nữa thôi (khoảng 20 dòng).
  2. Và sau khi chạy lệnh Macro này thì mình muốn undo lại để xoá các giá trị vừa được điền vào. Có nghĩa là trở lại trạng thái ban đầu của file đó.
Cám ơn bạn đã giúp đỡ.
trong đoạn code trên có 1 dòng "quan trọng nhất", nó cài đặt vùng cần kích hoạt Macro từ ô A1 đến A18.
Mã:
Set WorkRng = Range("A1[SIZE=5]:[B][COLOR=#b22222]A18[/COLOR][/B][/SIZE]")

bạn chỉ cần sửa lại địa chỉ ô A18 thành A38 (bao nhiêu dòng cũng được)
Mã:
Set WorkRng = Range("A1:[COLOR=#b22222][B][SIZE=5]A38[/SIZE][/B][/COLOR]")

'------
theo mình biết thì hiếm khi địa chỉ đó cố định, nếu là "động" thì bạn đặt Name hoặc sửa lại code ---> tùy thuộc vào bố cục của File... (nếu được bạn gửi file lên để mọi người xem thử ?)
 
Upvote 0
Xin chào,

Rất vui vì đã áp dụng thành công đoạn mã code của bạn phucbugis rồi.

Tuy nhiên còn một bổ sung sau, mong bạn giúp giùm để hoàn thiện hơn file tính toán này nhé:


  1. Sau ô A16 (nếu hết giá trị để copy) thì chỉ cần copy giá trị 324 thêm một số dòng nữa thôi (khoảng 20 dòng).
  2. Và sau khi chạy lệnh Macro này thì mình muốn undo lại để xoá các giá trị vừa được điền vào. Có nghĩa là trở lại trạng thái ban đầu của file đó.

Cám ơn bạn đã giúp đỡ.

Muốn UNDO thì có UNDO. Mình toàn xài code nhà nông thôi cho gọn
PHP:
Dim Restore(), Rng As Range
Sub QuangHai()
Set Rng = [A1:A18]
With ActiveSheet.CommandButton1
   If .Caption <> "UNDO" Then
      .Caption = "UNDO"
      Restore = Rng.Value
      Rng.SpecialCells(4).FormulaR1C1 = "=(R[-1]C)"
      Rng.Value = Rng.Value
   Else
      Rng = Restore
      .Caption = "COPY"
   End If
End With
End Sub
 

File đính kèm

Upvote 0
Cám ơn hai bạn Quang Hai và Phucbugis nhiều lắm.

Nhờ file macro này mà mình đã hoàn thiện được file của mình rồi. Thật tuyệt !!

Chúc các bạn sức khỏe nhen. %#^#$
 
Upvote 0
Nhờ ban Quang Hai viết thêm dùm minh đoạn code undo cái macro chạy chèn tiêu đề cuối trang khi in dùm. minh làm đến đây thì không biêt undo thế nao. cám ơn nhiều lắm.
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom