Bạn đặt code trong worksheet_change của sheet cần chạy code. Bạn nên tìm hiểu về các sự kiện của worksheetEm có file excel đính kèm. Em muốn khi nhập dữ liệu vào cột A thì VBA sẽ tự chạy thay vì phải click vào nút Button. Mong các bác chỉnh VBA giúp em. Em cảm ơn nhiều ạ!
CÓ phải như thế này không anh? sao e chạy lại bị lỗi treo, nhờ a chỉnh giúp em với. Cám ơn anh nhiều!Bạn đặt code trong worksheet_change của sheet cần chạy code. Bạn nên tìm hiểu về các sự kiện của worksheet
Bạn thử code này xem sao>CÓ phải như thế này không anh? sao e chạy lại bị lỗi treo, nhờ a chỉnh giúp em với. Cám ơn anh nhiều!
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Sheet1.Range("A4:A1000"), Target) Then
Dim Rng As Range
Application.EnableEvents = False
For Each Rng In Target
Rng.Offset(, 1).Value = Month(Rng.Value)
Rng.Offset(, 2).Value = Year(Rng.Value)
Next Rng
Application.EnableEvents = True
With Range("A4:C" & Sheet1.Range("A65000").End(xlUp).Row)
.Borders.Weight = xlThin
.Borders(xlInsideHorizontal).Weight = xlHairline
End With
End If
End Sub
do code của bạn thui.CÓ phải như thế này không anh? sao e chạy lại bị lỗi treo, nhờ a chỉnh giúp em với. Cám ơn anh nhiều!
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Target.Offset(, 1) = Year(Target.Value)
Target.Offset(, 2) = Month(Target.Value)
Range("A4:C" & Range("A65000").End(3).Row).Borders.LineStyle = 1
End If
End Sub
Thank! Bạn nhiều nhéBạn thử code này xem sao>
Mã:Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Sheet1.Range("A4:A1000"), Target) Then Dim Rng As Range Application.EnableEvents = False For Each Rng In Target Rng.Offset(, 1).Value = Month(Rng.Value) Rng.Offset(, 2).Value = Year(Rng.Value) Next Rng Application.EnableEvents = True With Range("A4:C" & Sheet1.Range("A65000").End(xlUp).Row) .Borders.Weight = xlThin .Borders(xlInsideHorizontal).Weight = xlHairline End With End If End Sub