Code " Gạch chéo phần trống" không chạy (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

AnhThu-1976

Thành viên tích cực
Tham gia
17/10/14
Bài viết
1,061
Được thích
175
Em có sưu tầm code "Gạch chéo phần trống" trên GPE và sửa lại nhưng nó không chạy, nhờ các anh, chị hướng dẫn giúp
1/ Tại sheet InHD em muốn Gạch chéo phần trống từ ô I23 đến I33 ( chỉ gạch ô nào nếu không có số liệu)
Nhưng thực tế các ô I23 đến I32 có công thức (Nếu không có thì trả về trống) nên nó không chịu gạch chéo phần không có dữ liệu còn lại
Như vậy, em cần sửa như thế nào?
2/ Có cách nào gạch chéo phần trống từ ô B23 đến I33 không ?
Em cảm ơn!
 

File đính kèm

Em có sưu tầm code "Gạch chéo phần trống" trên GPE và sửa lại nhưng nó không chạy, nhờ các anh, chị hướng dẫn giúp
1/ Tại sheet InHD em muốn Gạch chéo phần trống từ ô I23 đến I33 ( chỉ gạch ô nào nếu không có số liệu)
Nhưng thực tế các ô I23 đến I32 có công thức (Nếu không có thì trả về trống) nên nó không chịu gạch chéo phần không có dữ liệu còn lại
Như vậy, em cần sửa như thế nào?
2/ Có cách nào gạch chéo phần trống từ ô B23 đến I33 không ?
Em cảm ơn!
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Cll As Range    'Ô d?u tiên không có giá tr?'
    Dim i As Integer
    If Target.Address <> "$I$35" Then Exit Sub
    Set Cll = [I23]
    For i = 23 To 33
      If Len(Cells(i, 9)) = 0 Then Set Cll = Cells(i, 9): Exit For
    Next i
    With ActiveSheet.Shapes("Gach")
        .Top = Cll.Top
        .Left = Cll.Left
        .Height = Range(Cll, [I33]).Height
        .Width = Cll.Width
    End With
    Set Cll = Nothing
End Sub
 
Upvote 0
Em có sưu tầm code "Gạch chéo phần trống" trên GPE và sửa lại nhưng nó không chạy, nhờ các anh, chị hướng dẫn giúp
1/ Tại sheet InHD em muốn Gạch chéo phần trống từ ô I23 đến I33 ( chỉ gạch ô nào nếu không có số liệu)
Nhưng thực tế các ô I23 đến I32 có công thức (Nếu không có thì trả về trống) nên nó không chịu gạch chéo phần không có dữ liệu còn lại
Như vậy, em cần sửa như thế nào?
2/ Có cách nào gạch chéo phần trống từ ô B23 đến I33 không ?
Em cảm ơn!
Bạn thử file nha.
 

File đính kèm

Upvote 0
Làm gạch chéo như phần trên được không anh?
dùng code
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Cll As Range    'Ô d?u tiên không có giá tr?'
    Dim i As Integer, j As Integer, j As Integer
    If Target.Address <> "$I$35" Then Exit Sub
    For i = 23 To 33
        k = 0
        For j = 2 To 9
            If Len(Cells(i, j)) = 0 Then k = k + 1
        Next j
        If k = 8 Then Set Cll = Cells(i, 2): Exit For
    Next i
    With ActiveSheet.Shapes("Gach")
        If Not Cll Is Nothing Then
            .Visible = True
            .Top = Cll.Top
            .Left = Cll.Left
            .Height = Range(Cll, [I33]).Height
            .Width = Range(Cll, [I33]).Width
        Else
            .Visible = False
        End If
    End With
    Set Cll = Nothing
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom