Hỏi cách dung range trong VBA có kết hợp với target

Liên hệ QC

Tường_Vi

Thành viên tiêu biểu
Tham gia
19/4/10
Bài viết
482
Được thích
121
Nghề nghiệp
Luôn tìm kiếm một vị trí tốt hơn
Nếu như này đoạn code của em không hề lỗi
PHP:
    [A6:B6].Font.Bold = True

nhưng giờ em sửa thành như này thì thấy nó báo lỗi bôi vàng tại dòng
PHP:
 r = Target.Row
 [A&r:B&r].Font.Bold = True '''''''''''''''''''_> báo lỗi dòng này

Các Huynh giúp em sửa lại code trên với
 
Nếu như này đoạn code của em không hề lỗi
PHP:
    [A6:B6].Font.Bold = True

nhưng giờ em sửa thành như này thì thấy nó báo lỗi bôi vàng tại dòng
PHP:
 r = Target.Row
 [A&r:B&r].Font.Bold = True '''''''''''''''''''_> báo lỗi dòng này

Các Huynh giúp em sửa lại code trên với
Phải vầy chứ
Range("A" & r & ":B" & r).Font.Bold = True
 
Upvote 0
Mình nghĩ rất kỹ thấy không thể lỗi được. Bạn đưa file lên mọi người xem thử. Hoặc nhờ Thầy ndu giải thích giùm
Muội đang làm thì bị lỗi nên chưa làm tiếp được, muội gửi file nhé
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
With [B5:D6500]
If Target.Column = 2 And Target <> "" Then
    Select Case Target.Column
    Case 4
    If Target <> "" Then
    Range("A"&target.row&":D"&target.Row).Font.Bold = true
    Range("A"&target.row&":D"&target.Row).Font.Italic = true
    End If
    End Select
End If
End With
    
End Sub
 

File đính kèm

Upvote 0
Muội đang làm thì bị lỗi nên chưa làm tiếp được, muội gửi file nhé
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
With [B5:D6500]
If Target.Column = 2 And Target <> "" Then
    Select Case Target.Column
    Case 4
    If Target <> "" Then
    Range("A"&target.row&":D"&target.Row).Font.Bold = true
    Range("A"&target.row&":D"&target.Row).Font.Italic = true
    End If
    End Select
End If
End With
    
End Sub
Bạn vui lòng chuyển qua Excel 2003 giúp mình với. Mình mở không được.
Bạn sửa như thế này xem thử:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target <> "" Then
    With Range("A" & Target.Row & ":D" & Target.Row).Font
         .Bold = True
         .Italic = True
   End With
End If
    
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Muội đang làm thì bị lỗi nên chưa làm tiếp được, muội gửi file nhé
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
With [B5:D6500]
If Target.Column = 2 And Target <> "" Then
    Select Case Target.Column
    Case 4
    If Target <> "" Then
    Range("A"&target.row&":D"&target.Row).Font.Bold = true
    Range("A"&target.row&":D"&target.Row).Font.Italic = true
    End If
    End Select
End If
End With
    
End Sub
Bạn phải viết rời ra chứ ---> Dính 1 chùm thế làm sao Excel nó hiểu được!
Range("A" & Target.Row & ":D" & Target.Row).Font.Bold = True
Thêm nữa:
- Hổng hiểu code này làm gì
- Ở trên thì
If Target.Column = 2 And Target <> "" Then
mà ở dưới lại
Select Case Target.Column
Case 4

Case 4 ở đâu ra?
Đoán chừng ý bạn là: Nếu gõ gì đó vào cột B (từ dòng 5 trở đi) thì nguyên dòng từ cột A đến cột D sẽ được in đậm và nghiêng, đúng không?
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 2 And Target <> "" And Target.Row > 4 Then
    With Target.Offset(, -1).Resize(, 4)
      .Font.Bold = True
      .Font.Italic = True
    End With
  End If
End Sub
 
Upvote 0
Bạn phải viết rời ra chứ ---> Dính 1 chùm thế làm sao Excel nó hiểu được!
Range("A" & Target.Row & ":D" & Target.Row).Font.Bold = True
Thêm nữa:
- Hổng hiểu code này làm gì
- Ở trên thì
If Target.Column = 2 And Target <> "" Then
mà ở dưới lại
Select Case Target.Column
Case 4

Case 4 ở đâu ra?
Đoán chừng ý bạn là: Nếu gõ gì đó vào cột B (từ dòng 5 trở đi) thì nguyên dòng từ cột A đến cột D sẽ được in đậm và nghiêng, đúng không?
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 2 And Target <> "" And Target.Row > 4 Then
    With Target.Offset(, -1).Resize(, 4)
      .Font.Bold = True
      .Font.Italic = True
    End With
  End If
End Sub

Hu hu, sao em không nhớ ra món offset & resize nhỉ?
Cám ơn Anh nhiều
 
Upvote 0
Web KT

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

Back
Top Bottom