Consulting

Results 1 to 2 of 2

Thread: Solved: Debugging a VBA programm in Visual Basic Editor (VBA Excel )

  1. #1

    Solved: Debugging a VBA programm in Visual Basic Editor (VBA Excel )

    Dear All,

    Below is the code that i want to debug each step and flow of control in my
    Microsoft Visual Basic Editor ( Alt +F11) .
    Could anybody plz help me the step by step process to debug the program and values of variable changes?
    Any help will be deepply welcome?

    Rgds,
    Aligahk06

    [VBA]
    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim TimeStr As String
    On Error GoTo EndMacro
    If Application.Intersect(Target, Range("E3:E33,D333,F3:F33")) Is Nothing Then
    Exit Sub
    End If
    If Target.Cells.Count > 1 Then
    Exit Sub
    End If
    If Target.Value = "" Then
    Exit Sub
    End If

    Application.EnableEvents = False
    With Target
    If .HasFormula = False Then
    Select Case Len(.Value)
    Case 1 ' e.g., 1 = 00:01 AM
    TimeStr = "00:0" & .Value
    Case 2 ' e.g., 12 = 00:12 AM
    TimeStr = "00:" & .Value
    Case 3 ' e.g., 735 = 7:35 AM
    TimeStr = Left(.Value, 1) & ":" & _
    Right(.Value, 2)
    Case 4 ' e.g., 1234 = 12:34
    TimeStr = Left(.Value, 2) & ":" & _
    Right(.Value, 2)
    Case 5 ' e.g., 12345 = 1:23:45 NOT 12:03:45
    TimeStr = Left(.Value, 1) & ":" & _
    Mid(.Value, 2, 2) & ":" & Right(.Value, 2)
    Case 6 ' e.g., 123456 = 12:34:56
    TimeStr = Left(.Value, 2) & ":" & _
    Mid(.Value, 3, 2) & ":" & Right(.Value, 2)
    Case Else
    Err.Raise 0
    End Select
    .Value = TimeValue(TimeStr)
    End If
    End With
    Application.EnableEvents = True
    Exit Sub
    EndMacro:
    MsgBox "You did not enter a valid time"
    Application.EnableEvents = True
    End Sub
    [/VBA]

  2. #2
    Distinguished Lord of VBAX VBAX Grand Master Bob Phillips's Avatar
    Joined
    Apr 2005
    Posts
    25,453
    Location
    In the VBIDE, select the line that you want to start debugging at and hit F9. This will add a breakpoint to the code, and when the code runs it will stop there.

    Once you stop, you can hit F8 to step through one line at a time.

    You can inspect variables by opening the Watch Window, View>Watch Window, and add a watch Debug>Watch...
    ____________________________________________
    Nihil simul inventum est et perfectum

    Abusus non tollit usum

    Last night I dreamed of a small consolation enjoyed only by the blind: Nobody knows the trouble I've not seen!
    James Thurber

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •