Quantcast
Channel: Excel IT Pro Discussions forum
Viewing all articles
Browse latest Browse all 11829

Can someone help me convert this VBA to work automatically?

$
0
0

I have the below VBA code working however the data that it is referencing I copy from another excel sheet and paste to this one. If I want to activate this VBA code I have to click in field D1, is there a way to have it just run automatically so I do not have to click in the field or does it have to be completed this way because I also am protecting and unprotecting the sheet?

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim cel As Range
    On Error GoTo ErrHandler
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    Worksheets("Asb Bulks").Unprotect Password:=""
    If Not Intersect(Range("A1:A42"), Target) Is Nothing Then
        For Each cel In Intersect(Range("A1:A42"), Target)
            Worksheets("Asb Bulks").Cells(cel.Row + 25, 1) _
                .EntireRow.Hidden = (cel.Value = "")
        Next cel
    End If
     If Not Intersect(Range("F1:F42"), Target) Is Nothing Then
        For Each cel In Intersect(Range("F1:F42"), Target)
            Worksheets("Asb Bulks").Cells(cel.Row + 101, 1) _
                .EntireRow.Hidden = (cel.Value = "")
        Next cel
    End If
    If Not Intersect(Range("D1"), Target) Is Nothing Then
    If Target.Value = "COMPANY" Then
           Worksheets("Asb Bulks").Range("a162:a163").EntireRow.Hidden = False
           Worksheets("Asb Bulks").Range("a173:a179").EntireRow.Hidden = False
           Worksheets("Asb Bulks").Range("a160:a160").EntireRow.Hidden = False
           Worksheets("Asb Bulks").Range("a170:a170").EntireRow.Hidden = False
         Else
           Worksheets("Asb Bulks").Range("a162:a163").EntireRow.Hidden = True
           Worksheets("Asb Bulks").Range("a173:a179").EntireRow.Hidden = True
           Worksheets("Asb Bulks").Range("a160:a160").EntireRow.Hidden = True
           Worksheets("Asb Bulks").Range("a170:a170").EntireRow.Hidden = True
         End If
    End If
ExitHandler:
    On Error Resume Next
    Worksheets("Asb Bulks").Protect Password:=""
    Application.EnableEvents = True
    Application.ScreenUpdating = True
    Exit Sub

ErrHandler:
    MsgBox Err.Description, vbExclamation
    Resume ExitHandler
End Sub


Dustin Shepard


Viewing all articles
Browse latest Browse all 11829

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>