Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8590355
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 11, 20262026-06-11T23:16:33+00:00 2026-06-11T23:16:33+00:00

I am trying to select a sheet from the workbook that has the newest

  • 0

I am trying to select a sheet from the workbook that has the newest date. The date is in the same space for each sheet, otherwise it is blank or text, and therefore should never evaluate as greater than an integer or date formatted value i think. Once i have found that sheet i want to take specific data and use it. My problem is selecting the correct sheet. Here is the code:

Dim wksht As Worksheet
Dim maxsheet As Worksheet
Dim currentdate as Integer
Dim maxdate as Integer

'go through each worksheet. compare the value of current date extracted from each sheet
'to maxdate. If currentdate > maxdate maxdate = currentdate.
'remember the worksheet for maxdate as maxsheet.

maxdate = 0
For Each wksht In ActiveWorkbook.Worksheets
    With wksht
        currentdate = wksht.Range("B1").Value
        If currentdate > maxdate Then
            maxsheet = wksht
            maxdate = currentdate
        End If
    End With
Next wksht

What is going on? The error i get is “’91’: Object variable or with block variable not set.” I don’t really understand the help section or how i can fix it.

Looking at the code again i foresee another problem, working with the sheet once i have the sheet stored. Can i just use maxsheet.select for that?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-11T23:16:34+00:00Added an answer on June 11, 2026 at 11:16 pm

    The loop logic looks good to me. You’re correct that the With wksht/End With are not being used. To use, it would be:

    For Each wksht In ActiveWorkbook.Worksheets
        With wksht
            currentdate = .Range("B1").Value ` <~~~~ This guy right here
            If currentdate > maxdate Then
                maxsheet = wksht
                maxdate = currentdate
            End If
        End With
    Next wksht
    

    Now, without knowing a bit more about your worksheets I’m not sure I can answer your problem specifically, however, I would redo the logic to something like this:

    [Untested]

    Dim currentdate as Date
    Dim maxdate as Date
    For Each wksht In ActiveWorkbook.Worksheets
        if IsDate(wksht.Range("B1").Value) then    
            currentdate = CDate(wksht.Range("B1").Value)
            If currentdate > maxdate Then
                set maxsheet = wksht
                maxdate = currentdate
            End If
        end if
    Next wksht
    

    http://p2p.wrox.com/access-vba/11341-convert-text-date-time-access.html

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am trying to match a date from a column in excel sheet whose
I'm trying to create a Macro that copies variable columns from one sheet to
In trying to select elements that have any attributes, the following throws a jQuery
When trying to select fields from a subquery if ANY of the subqueries do
I am trying to select three values from xml document. I want to get
I am trying to select the last record from a table in MySQL using
I am trying to select an object from this array and print all of
I'm trying to select all dom elements that have id=mydiv but exclude the ones
I am trying to create a link from a cell on one sheet to
i am trying to insert data from excel sheet into database in java. for

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.