Các anh chị giúp em vấn đề này nhé, viết code sao cho những hàng trống phía dưới được paste từ dữ liệu của hàng trên, liên tục cho đến hết nhé.
Thanks các anh chị nhiều
Sub copy()
Dim ketqua, i
ketqua = Range([b6], [b65536].End(3)).Resize(, 3)
For i = 1 To UBound(ketqua)
If ketqua(i, 3) = "" Then
ketqua(i, 3) = ketqua(i - 1, 3)
End If
Next
[b6].Resize(i - 1, 3) = ketqua
End Sub
Bạn xài thử code này xem sao
PHP:Sub copy() Dim ketqua, i ketqua = Range([b6], [b65536].End(3)).Resize(, 3) For i = 1 To UBound(ketqua) If ketqua(i, 3) = "" Then ketqua(i, 3) = ketqua(i - 1, 3) End If Next [b6].Resize(i - 1, 3) = ketqua End Sub
Sub Test()
With Range([B6], [b65536].End(xlUp)).Offset(, 2)
.SpecialCells(4).Value = "=R[-1]C"
.Value = .Value
End With
End Sub
Vầy thử xem sao:
Ẹc.. Ẹc...PHP:Sub Test() With Range([B6], [b65536].End(xlUp)).Offset(, 2) .SpecialCells(4).Value = "=R[-1]C" .Value = .Value End With End Sub
.SpecialCells(4).Value = "=R[-1]C"
.Value = .Value
1. SpecialCells(4) là những ô trống trong vùng đang xét (ở đây là vùng Range([B6], [B65536].End(xlUp)).Offset(, 2))Nhờ bạn giải thích giúp mình nghĩa của 02 dòng lệnh này với? Mình đang tập tè học VBA nên không hiểu.
PHP:.SpecialCells(4).Value = "=R[-1]C" .Value = .Value
Các anh chị giúp em vấn đề này nhé, viết code sao cho những hàng trống phía dưới được paste từ dữ liệu của hàng trên, liên tục cho đến hết nhé.
Thanks các anh chị nhiều
Cho em hỏi thầy là giờ em muốn copy công thức ô trên xuống ô dưới chứ không copy chết thì làm sao à thầyVầy thử xem sao:
Ẹc.. Ẹc...PHP:Sub Test() With Range([B6], [b65536].End(xlUp)).Offset(, 2) .SpecialCells(4).Value = "=R[-1]C" .Value = .Value End With End Sub
thầy có thể viết giúp em đoạn code nguyên lí như này nhưng chỉ hoạt động trong vùng mà đã được chọn (bôi đen) bất kì được không ạ?Bạn xài thử code này xem sao
PHP:Sub copy() Dim ketqua, i ketqua = Range([b6], [b65536].End(3)).Resize(, 3) For i = 1 To UBound(ketqua) If ketqua(i, 3) = "" Then ketqua(i, 3) = ketqua(i - 1, 3) End If Next [b6].Resize(i - 1, 3) = ketqua End Sub
Giống file đính kèm. Em chỉ muốn auto fill trong vùng e bôi đỏ thôi ạ. Thầy có thể viết để khi e select vùng nào thì sẽ fill ở vùng đấy ko ạ.thầy có thể viết giúp em đoạn code nguyên lí như này nhưng chỉ hoạt động trong vùng mà đã được chọn (bôi đen) bất kì được không ạ?
Sub CopyDownValue()
Dim Col As Integer, Rw As Long, Cot As Integer, Rws As Long
Dim Cls As Range, Rng As Range, Rg0 As Range
Set Rng = Selection
Col = Rng.Columns.Count: Rw = Rng.Rows.Count
For Cot = 1 To Col
Set Rg0 = Rng(Cot).Resize(Rw)
For Each Cls In Rg0
If Cls.Value = "" Then Cls.Value = Cls.Offset(-1).Value
Next Cls
Next Cot
End Sub
Được rồi ạ.Bạn thử con macro này:
PHP:Sub CopyDownValue() Dim Col As Integer, Rw As Long, Cot As Integer, Rws As Long Dim Cls As Range, Rng As Range, Rg0 As Range Set Rng = Selection Col = Rng.Columns.Count: Rw = Rng.Rows.Count For Cot = 1 To Col Set Rg0 = Rng(Cot).Resize(Rw) For Each Cls In Rg0 If Cls.Value = "" Then Cls.Value = Cls.Offset(-1).Value Next Cls Next Cot End Sub