Nhờ các cao thủ viết hộ macro tự động cách dòng (1 người xem)

Liên hệ QC

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

simfpt.com

Thành viên mới
Tham gia
27/10/12
Bài viết
11
Được thích
1
Hj hj, chào tất cả mọi người trong nhóm Excel

Mình đang gặp khó khăn trong vấn đề tạo 1 macro như hình vẽ

Giả sử cột A có 10 dòng liền nhau

Sau khi chạy macro thì mỗi dòng cách nhau 1 dòng trắng hoặc n dòng trắng

Mọi người viết lệnh macro này giúp mình với. Cảm ơn mọi người nhiều
 

File đính kèm

  • 1546108_188914454650170_826695500_n.jpg
    1546108_188914454650170_826695500_n.jpg
    35.7 KB · Đọc: 52
  • 1554453_189350781273204_792435318_n.jpg
    1554453_189350781273204_792435318_n.jpg
    71.5 KB · Đọc: 5
Lần chỉnh sửa cuối:
Hj hj, chào tất cả mọi người trong nhóm Excel

Mình đang gặp khó khăn trong vấn đề tạo 1 macro như hình vẽ

Giả sử cột A có 10 dòng liền nhau

Sau khi chạy macro thì mỗi dòng cách nhau 1 dòng trắng

Mọi người viết lệnh macro này giúp mình với. Cảm ơn mọi người nhiều
Thử chạy Sub này coi sao. Điều kiện chạy Sub trong Sheet1.
PHP:
Public Sub GPE()
Dim sArr(), dArr(), I As Long, K As Long
With Sheet1
    sArr = .Range(.[A1], .[A65536].End(xlUp)).Value
    ReDim dArr(1 To UBound(sArr, 1) * 2, 1 To 1)
    For I = 1 To UBound(sArr, 1)
        If sArr(I, 1) <> "" Then
            K = K + 1
            dArr(K, 1) = sArr(I, 1)
            K = K + 1
        End If
    Next I
    .[A1].Resize(K - 1).Value = dArr
End With
End Sub
 
Upvote 0
Cảm ơn pác BATE .....................................................
 
Lần chỉnh sửa cuối:
Upvote 0
Sao code của pác em không chạy đc nhỉ @Bate
Được hay không, lỗi chỗ nào thì bạn cũng phải đưa file lên và giải thích rõ chỗ sai, từ đầu đến giờ có file nào của bạn làm "chuẩn" đâu mà biết sai chỗ nào?
Bạn nên viết tiếng Việt "chuẩn" một chút nghe. "pác" không có trong tự điển tiếng Việt và cũng chẳng biết ai là Bate.
 
Lần chỉnh sửa cuối:
Upvote 0
Hj hj, chào tất cả mọi người trong nhóm Excel

Mình đang gặp khó khăn trong vấn đề tạo 1 macro như hình vẽ

Giả sử cột A có 10 dòng liền nhau

Sau khi chạy macro thì mỗi dòng cách nhau 1 dòng trắng

Mọi người viết lệnh macro này giúp mình với. Cảm ơn mọi người nhiều



Chọn ô đầu tiên của vùng dữ liệu (ví dụ A1) rồi chạy macro sau
Mã:
Sub Inr()
Do
ActiveCell.Offset(i + 1).Insert shift:=xlDown: i = i + 2
Loop Until ActiveCell.Offset(i) = ""
End Sub
 
Upvote 0
Cảm ơn bác Ba Tê đã nhắc nhở. Cảm ơn @nginh nha, em đã chạy đc code của bác rùi. Nhưng em lại mới phát sinh ra thêm vấn đề.

Như trên hình ảnh là tự động cách 1 dòng, vậy em muốn cách n dòng thì làm thế nào ạ.

 
Lần chỉnh sửa cuối:
Upvote 0
Như trên hình ảnh là tự động cách 1 dòng, vậy em muốn cách n dòng thì làm thế nào ạ.


Nếu vậy thay bằng đoạn mã sau
Mã:
Sub Inr()
n = InputBox("So dong can chen :")
Do
ActiveCell.Offset(i + 1).Resize(n).Insert shift:=xlDown: i = i + n + 1
Loop Until ActiveCell.Offset(i) = ""
End Sub
 
Upvote 0
Oh, very good, em làm được rồi bác @Nginh à. Nó bật ra 1 popup báo điền số dòng cần cách. Em cảm ơn bác rất nhiều
 
Upvote 0
Nếu dữ liệu nhiều, nên xài của bác Ba Tê sẽ nhanh hơn (nhưng khó để hiểu về nó hơn)

PHP:
Option Explicit
Public Sub GPEThemDòng()
Dim sArr(), dArr()
Dim SoDg As Long, I As Long, J As Long
SoDg = InputBox("Só dòng càn chèn:")
With Sheet2
    sArr = .Range(.[A1], .[A65536].End(xlUp)).Value
    ReDim dArr(1 To UBound(sArr, 1) * 2 * SoDg, 1 To 1)
    For I = 1 To UBound(sArr, 1)
        J = J + 1
        dArr(J, 1) = sArr(I, 1)
        J = J + SoDg
    Next I
    .[A1].Resize(J - 1).Value = dArr
End With
End Sub

Xin cảm ơn Ba Tê nhiều!
 
Upvote 0
[h=2]Nếu dữ liệu nhiều, nên xài của bác Ba Tê sẽ nhanh hơn (nhưng khó để hiểu về nó hơn) [/h]...

Hai loại code trên không hẳn là muốn dùng cái nào cũng được.

Code của Ba Tê cho ra kết quả đúng 1 dòng trống giữa 2 dòng dữ liệu. Dữ liệu không cần liền nhau
Code của nginh dựa trên điều kiện là dữ liệu phải liền nhau. Nếu gặp ô không có dữ liệu thì nó dừng lại.
 
Upvote 0

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

Back
Top Bottom