Sub GhepNhieuCotThanh01()
Dim Dg As Long, Cot As Integer, Col As Integer, J As Long, Rws As Long, W As Long
Dg = [B2].CurrentRegion.Rows.Count: Cot = [B2].CurrentRegion.Columns.Count
ReDim Arr(1 To Dg * Cot + 9, 1 To 1)
For Col = 1 To Cot
For J = 1 To Dg
W = W + 1: Arr(W, 1) = Cells(J, Col).Value
Next J
Next Col
Sheet2.[B1].Resize(W).Value = Arr()
End Sub
dạ vâng em cám ơn, em đã làm theo được ạ <3& đây, xin mời bạn thử:![]()
![]()
PHP:Sub GhepNhieuCotThanh01() Dim Dg As Long, Cot As Integer, Col As Integer, J As Long, Rws As Long, W As Long Dg = [B2].CurrentRegion.Rows.Count: Cot = [B2].CurrentRegion.Columns.Count ReDim Arr(1 To Dg * Cot + 9, 1 To 1) For Col = 1 To Cot For J = 1 To Dg W = W + 1: Arr(W, 1) = Cells(J, Col).Value Next J Next Col Sheet2.[B1].Resize(W).Value = Arr() End Sub
Bạn thử cái này xemsẳng thầy chỉ cách ghép khi dữ liệu dòng khác nhau
View attachment 234400
Sub Ghepcot()
Dim dongdau As Long, dongcuoi As Long, J As Long
Dim rng As Range
Application.ScreenUpdating = False
With Sheet1
For J = 1 To 5
dongcuoi = .Cells(Rows.Count, J).End(xlUp).Row
dongdau = .Cells(dongcuoi, J).End(xlUp).Row
Set rng = .Range(Cells(dongdau, J), Cells(dongcuoi, J))
rng.Copy
.Range("H" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteValues
Next J
Application.CutCopyMode = False
.Range("H" & Rows.Count).End(xlUp).Select
End With
Application.ScreenUpdating = True
End Sub
Tôi đưa kết quả sang sheet2 cho thuận tiện việc bổ sung cột.sẳng thầy chỉ cách ghép khi dữ liệu dòng khác nhau
Lấy File bài 8 dùng thử.MÌnh muốn ghép nhiều cột thành 1 cột, nhưng cột của mình có số dòng khác nhau thì làm thế nào ạ? Mn chỉ giúp mình với. Mình có tham khảo File Ghép cột kia nhưng chỉ ghép được các cột có số dòng bằng nhau sao ấy.
Cảm ơn mn nhiều!
Bác làm thế nào mà hay thếTôi đưa kết quả sang sheet2 cho thuận tiện việc bổ sung cột.
Lấy File bài 8 dùng thử.
Mở File đó ra nhấn Alt+F11 thì thấy code.Bác làm thế nào mà hay thế
Cho em cái code đi
bác làm ơn cho hỏi đưa cái modun kia vào thì dùng công thức j để chạy với ạ& đây, xin mời bạn thử:![]()
![]()
PHP:Sub GhepNhieuCotThanh01() Dim Dg As Long, Cot As Integer, Col As Integer, J As Long, Rws As Long, W As Long Dg = [B2].CurrentRegion.Rows.Count: Cot = [B2].CurrentRegion.Columns.Count ReDim Arr(1 To Dg * Cot + 9, 1 To 1) For Col = 1 To Cot For J = 1 To Dg W = W + 1: Arr(W, 1) = Cells(J, Col).Value Next J Next Col Sheet2.[B1].Resize(W).Value = Arr() End Sub
Bác ơi bác giúp em với ạThứ nhất: Đó không phải là 1 hàm người dùng (UDF) nên sẽ không có công thức;
Muốn cho 1 macro chạy thì có vài cách sau:
(*) Gán cho macro 1 tổ hợp phím tắt, như {CTRL}+{SHIFT}+G
(*) Vẻ lên trang tính 1 hình (Shapes trong menu Insert) nào đó & liên kết với tên macro để khi bấm vô hình đó thì macro sẽ chạy & đưa ra kết quả cho bạn
(*) . . . . .
Chúc bạn thành công!
Copy và dán 3 lần rất nhanh và đơn giảnBác ơi bác giúp em với ạ
Em gặp vấn đề như sau:
Cột A: 1 4 7
Cột B: 2 5 8
Cột C: 3 6 9
Ghép thành một cột theo dạng sau:
1
2
3
4
5
6
7
8
9
View attachment 260144
Mình ví dụ thôi ạ, chứ dữ liệu tầm 400 500 dòng copy paste tay to luôn bác ạCopy và dán 3 lần rất nhanh và đơn giản
Góp thêm một cách cho bạn lựa chọn.Bác ơi bác giúp em với ạ
Em gặp vấn đề như sau:
Cột A: 1 4 7
Cột B: 2 5 8
Cột C: 3 6 9
Ghép thành một cột
em cảm ơn nhiều lắm ạGóp thêm một cách cho bạn lựa chọn.
Bốn năm trăm dòng thì chỉ công thức cũng đủ dùng, chắc chưa cần đến VBA.Mình ví dụ thôi ạ, chứ dữ liệu tầm 400 500 dòng copy paste tay to luôn bác ạ![]()
dạ em dở excel nên lên nhờ các cao nhân ạBốn năm trăm dòng thì chỉ công thức cũng đủ dùng, chắc chưa cần đến VBA.
Bạn bỏ chữ cao nhân đi và gửi file lên mình sẽ giúp bạn vì mình không phải là cao nhân.dạ em dở excel nên lên nhờ các cao nhân ạ