+ Reply to Thread
Results 1 to 3 of 3

Input Box Related Question

  1. #1
    Barb Reinhardt
    Guest

    Input Box Related Question

    Let's try this again. I think the last post was just a subject.

    I have the following code:

    Private Sub CPIDateEntry()
    Dim cpistart
    Msgboxloc:
    cpistart = InputBox("Enter START date for report PERIOD in MM-YYYY Format ")
    Debug.Print cpistart
    If cpistart <> "" Then
    If IsDate(cpistart) Then
    ' MsgBox "Continue the macro"
    ' Selection.NumberFormat = "dd/mm/yyyy"
    ' ActiveCell.Offset(0, 2).Range("A1").Select
    Sheets("CPI_SPI_PITD").Select
    Range("B33").Select
    ActiveCell.FormulaR1C1 = "=DATE(YEAR(CPIStart),MONTH(CPIStart),1)"
    Selection.NumberFormat = "mmm-yy"
    Exit Sub
    Range("B33").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
    SkipBlanks _
    :=False, Transpose:=False
    Application.CutCopyMode = False
    Calculate
    End If
    Else
    MsgBox "You did not enter a date"
    GoTo Msgboxloc
    End If
    End Sub

    WHY am I not getting anything displayed in B33 of CPI_SPI_PITD? It's not
    recognizing CPIStart as anything. The error message is currently #NAME?

    I'm sure I'm doing something basic wrong.

    Thanks

  2. #2
    Barb Reinhardt
    Guest

    RE: Input Box Related Question

    It "throws up" before EXIT SUB because it doesn't know what CPIStart is for
    some reason.

    "Kevin B" wrote:

    > Could it be the "Exit Sub" statement in the middle of the IF statement?
    >
    > See code snippet:
    >
    > > ActiveCell.FormulaR1C1 = "=DATE(YEAR(CPIStart),MONTH(CPIStart),1)"
    > > Selection.NumberFormat = "mmm-yy"
    > > Exit Sub
    > > Range("B33").Select

    >
    > --
    > Kevin Backmann
    >
    >
    > "Barb Reinhardt" wrote:
    >
    > > Let's try this again. I think the last post was just a subject.
    > >
    > > I have the following code:
    > >
    > > Private Sub CPIDateEntry()
    > > Dim cpistart
    > > Msgboxloc:
    > > cpistart = InputBox("Enter START date for report PERIOD in MM-YYYY Format ")
    > > Debug.Print cpistart
    > > If cpistart <> "" Then
    > > If IsDate(cpistart) Then
    > > ' MsgBox "Continue the macro"
    > > ' Selection.NumberFormat = "dd/mm/yyyy"
    > > ' ActiveCell.Offset(0, 2).Range("A1").Select
    > > Sheets("CPI_SPI_PITD").Select
    > > Range("B33").Select
    > > ActiveCell.FormulaR1C1 = "=DATE(YEAR(CPIStart),MONTH(CPIStart),1)"
    > > Selection.NumberFormat = "mmm-yy"
    > > Exit Sub
    > > Range("B33").Select
    > > Selection.Copy
    > > Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
    > > SkipBlanks _
    > > :=False, Transpose:=False
    > > Application.CutCopyMode = False
    > > Calculate
    > > End If
    > > Else
    > > MsgBox "You did not enter a date"
    > > GoTo Msgboxloc
    > > End If
    > > End Sub
    > >
    > > WHY am I not getting anything displayed in B33 of CPI_SPI_PITD? It's not
    > > recognizing CPIStart as anything. The error message is currently #NAME?
    > >
    > > I'm sure I'm doing something basic wrong.
    > >
    > > Thanks


  3. #3
    Kevin B
    Guest

    RE: Input Box Related Question

    It runs fine using this modified version
    ======================================================
    Private Sub CPIDateEntry()

    Dim cpistart
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim iYr As Integer
    Dim iMonth As Integer
    Dim strVAL As String

    Set wb = ActiveWorkbook
    Set ws = wb.Worksheets("CPI_SPI_PITD")

    Msgboxloc:
    cpistart = InputBox("Enter START date for report PERIOD in MM-YYYY Format ")
    Debug.Print cpistart
    If cpistart <> "" Then
    If IsDate(cpistart) Then
    ws.Activate
    Range("B33").Select
    iMonth = Month(cpistart)
    iYr = Year(cpistart)
    strVAL = "=DATE(" & iYr & "," & iMonth & ",1)"

    ActiveCell.FormulaR1C1 = strVAL
    Selection.NumberFormat = "mmm-yy"
    Exit Sub
    Range("B33").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
    SkipBlanks _
    :=False, Transpose:=False
    Application.CutCopyMode = False
    Calculate
    End If
    Else
    MsgBox "You did not enter a date"
    GoTo Msgboxloc
    End If
    End Sub
    ======================================================
    --
    Kevin Backmann


    "Barb Reinhardt" wrote:

    > Let's try this again. I think the last post was just a subject.
    >
    > I have the following code:
    >
    > Private Sub CPIDateEntry()
    > Dim cpistart
    > Msgboxloc:
    > cpistart = InputBox("Enter START date for report PERIOD in MM-YYYY Format ")
    > Debug.Print cpistart
    > If cpistart <> "" Then
    > If IsDate(cpistart) Then
    > ' MsgBox "Continue the macro"
    > ' Selection.NumberFormat = "dd/mm/yyyy"
    > ' ActiveCell.Offset(0, 2).Range("A1").Select
    > Sheets("CPI_SPI_PITD").Select
    > Range("B33").Select
    > ActiveCell.FormulaR1C1 = "=DATE(YEAR(CPIStart),MONTH(CPIStart),1)"
    > Selection.NumberFormat = "mmm-yy"
    > Exit Sub
    > Range("B33").Select
    > Selection.Copy
    > Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
    > SkipBlanks _
    > :=False, Transpose:=False
    > Application.CutCopyMode = False
    > Calculate
    > End If
    > Else
    > MsgBox "You did not enter a date"
    > GoTo Msgboxloc
    > End If
    > End Sub
    >
    > WHY am I not getting anything displayed in B33 of CPI_SPI_PITD? It's not
    > recognizing CPIStart as anything. The error message is currently #NAME?
    >
    > I'm sure I'm doing something basic wrong.
    >
    > Thanks


+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

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

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1