Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Excel / Programming / January 2008

Tip: Looking for answers? Try searching our database.

Type Mismatch

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
WLMPilot - 27 Jan 2008 18:39 GMT
Below is the code I am trying to use, but I keep getting a type mismatch
(Runtime Error 13) on the line indicated with "ERROR".  The value I am
pulling into date2 is formatted as DATE within the spreadsheet.

What do I need to change?

'Display Estimated Pay on Part-time jobs for current payperiod
Private Sub CommandButton6_Click()
  Dim date2, date3 As Date
  Dim k, startrow, endrow, gotbrs As Integer
  Dim brs, pas As Variant
  Dim rng As Range
  date3 = Date
  Set rng = Worksheets("PT").Range("J8:J58")
  startrow = 8
  endrow = 58
Loop1:
  For k = startrow To endrow Step 2
     date2 = rng.Offset(0, 0).Value    <=====ERROR
     'MsgBox date2
     If date3 <= date2 Then
        If endrow <= 58 Then
           brs = rng.Offset(k - 1, 3).Value
           k = endrow
           gotbrs = 1
           startrow = 67
           endrow = 117
           rng = Range("J67:J117")
        Else
           pas = rng.Offset(k - 1, 3).Value
           Set k = endrow
        End If
     End If
  Next k
  If gotbrs = 1 Then
     gotbrs = 0
     GoTo Loop1
  End If
  MsgBox "BRS: " & " brs" & "    PAS: " & pas & "      TOTAL: " & (brs + pas)
End Sub

Thanks,
Les
Don Guillett - 27 Jan 2008 19:01 GMT
Might be best to tell us what you are trying to do.

Signature

Don Guillett
Microsoft MVP Excel
SalesAid Software
dguillett1@austin.rr.com

> Below is the code I am trying to use, but I keep getting a type mismatch
> (Runtime Error 13) on the line indicated with "ERROR".  The value I am
[quoted text clipped - 40 lines]
> Thanks,
> Les
WLMPilot - 27 Jan 2008 19:34 GMT
I was able to fix the problem via trial and error.  Thanks anyway.

Les

> Below is the code I am trying to use, but I keep getting a type mismatch
> (Runtime Error 13) on the line indicated with "ERROR".  The value I am
[quoted text clipped - 39 lines]
> Thanks,
> Les
Don Guillett - 27 Jan 2008 20:06 GMT
The point is that there might be a better way.

Signature

Don Guillett
Microsoft MVP Excel
SalesAid Software
dguillett1@austin.rr.com

>I was able to fix the problem via trial and error.  Thanks anyway.
>
[quoted text clipped - 44 lines]
>> Thanks,
>> Les
WLMPilot - 27 Jan 2008 20:30 GMT
Well, I will lay out the chart for you and see what you come up with.  Chart
is simply a spreadsheet, not a true CHART that is a diagram based on data.  

General Description:  Chart is 52 rows (ie 52 weeks) divided into two week
payperiods.  Payday (date) starts in J8 and increase by 14 days every two
rows, ie J10 = J8+14, J12 = J10+14, etc.  I have two charts, one for each
parttime job, therefore you will notice the startrow & endrow numbers change.


Basically, I click a command button that will execute the code to find the
pay for each job and display it along with a total.

Payday (date) range:  
  Job1 = J8:J58 (every other row)
  Job2 = J67:J117 (every other row)

I have place the current code that works below, which is a little different
from first code I posted.

'Display Estimated Pay on Part-time jobs for current payperiod
Private Sub CommandButton6_Click()
  Dim date2, date3 As Date
  Dim k, startrow, endrow, gotbrs, ans As Integer
  Dim brs, pas As Single
  Const sfmt As String = "$##0.00"
  'Const dfmt As Date = "##/##/##"
  Dim answer, brsdate, pasdate As String
  date3 = Date
  startrow = 8
  endrow = 58
Loop1:
  For k = startrow To endrow Step 2
     date2 = Cells(k, 10).Value
     If date3 <= date2 Then
        If endrow <= 58 Then
           brs = Cells(k - 1, 13).Value
           brsdate = date2
           MsgBox brsdate
           k = endrow
           gotbrs = 1
           startrow = 67
           endrow = 117
        Else
           pas = Cells(k - 1, 13).Value
           pasdate = date2
           MsgBox Len(pasdate)
           k = endrow
        End If
     End If
  Next k
  If gotbrs = 1 Then
     gotbrs = 0
     GoTo Loop1
  End If
  answer = "          Belton (" & FormatDateTime(brsdate, vbShortDate) &
"): " &  
                Format(brs, sfmt) & _
     vbLf & "      Palmetto (" & FormatDateTime(pasdate, vbShortDate) & "):
" &
               Format(pas, sfmt) & _
     vbLf & "                      Total: " & Format(brs + pas, sfmt)
  ans = MsgBox(answer, vbOKOnly, "Current Payperiod - Estimated Pay")
End Sub

Thanks for your time is looking at this.

Les

       

> The point is that there might be a better way.
>
[quoted text clipped - 46 lines]
> >> Thanks,
> >> Les
WLMPilot - 27 Jan 2008 20:31 GMT
I forgot to tell you one thing.  Once I determine where to locate the amount
for the payperiod, the estimated pay is placed in brs and pas.

Les

> The point is that there might be a better way.
>
[quoted text clipped - 46 lines]
> >> Thanks,
> >> Les
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.