hongphuong1997
Thành viên tiêu biểu
- Tham gia
- 12/11/17
- Bài viết
- 727
- Được thích
- 293
- Giới tính
- Nữ
Cháu cảm ơn bác ạ4 cột có cố định không? Hay làm xong rồi lại thêm: nếu em cần chia thành 18 cột thì sao?
Bác @befaint ơi như này nhéKhông cố định thì bạn cho biết nó nằm trong khoảng nào hay bất kỳ?
Sub RowToColumnTranspose()
Dim rng As Range
Dim I As Long, numcol As Integer
numcol = 6
I = 2
Set rng = Range("A1")
While rng.Value <> ""
I = I + 1
rng.Resize(numcol).Copy
Range("D" & I).PasteSpecial Transpose:=True
Set rng = rng.Offset(numcol)
Wend
End Sub
Em chẳng biết xưng hô như nào với anh (Bởi vì em không hiểu rõ)Thử cái này:
Mã:Sub RowToColumnTranspose() Dim rng As Range Dim I As Long, numcol As Integer numcol = 6 I = 2 Set rng = Range("A1") While rng.Value <> "" I = I + 1 rng.Resize(numcol).Copy Range("D" & I).PasteSpecial Transpose:=True Set rng = rng.Offset(numcol) Wend End Sub
thay đổi số cột ở dòng numcol = 6
BácSearch Google được cái này:
Mã:Sub RowToColumnTranspose() Dim rng As Range Dim I As Long, numcol As Integer numcol = 6 I = 2 Set rng = Range("A1") While rng.Value <> "" I = I + 1 rng.Resize(numcol).Copy Range("D" & I).PasteSpecial Transpose:=True Set rng = rng.Offset(numcol) Wend End Sub
thay đổi số cột ở dòng numcol = 6
Em thử cái này.
Sub chuyendulieu()
Const socot As Long = 5
Const buocdem As Integer = 2
Dim i As Long, lr As Long, arr, kq, a As Long, b As Long, c As Long
With Sheets("sheet1")
lr = .Range("B" & Rows.Count).End(xlUp).Row
arr = .Range("A1:B" & lr).Value
ReDim kq(1 To UBound(arr), 1 To socot)
For i = 1 To UBound(arr) Step buocdem
a = Int(c / socot) + 1
b = (c) Mod socot + 1
c = c + 1
kq(a, b) = arr(i, 2)
Next i
.Range("E3").Resize(1000, 20).ClearContents
.Range("E3").Resize(a, socot).Value = kq
End With
End Sub
Cháu cảm ơn bácKhông cố định thì bạn cho biết nó nằm trong khoảng nào hay bất kỳ?
Chuẩn quá anh @snow25 ơiEm thử cái này.
Mã:Sub chuyendulieu() Const socot As Long = 5 Const buocdem As Integer = 2 Dim i As Long, lr As Long, arr, kq, a As Long, b As Long, c As Long With Sheets("sheet1") lr = .Range("B" & Rows.Count).End(xlUp).Row arr = .Range("A1:B" & lr).Value ReDim kq(1 To UBound(arr), 1 To socot) For i = 1 To UBound(arr) Step buocdem a = Int(c / socot) + 1 b = (c) Mod socot + 1 c = c + 1 kq(a, b) = arr(i, 2) Next i .Range("E3").Resize(1000, 20).ClearContents .Range("E3").Resize(a, socot).Value = kq End With End Sub
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 1
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 2