Expiring Today—Celebrate National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Odd Behavior with Used Range Zoom Macro

Posted on 2014-10-10
15
Medium Priority
?
245 Views
Last Modified: 2014-10-15
Experts,

Please see the attached file and the below code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    ActiveSheet.UsedRange.Resize(ActiveSheet.UsedRange.Columns.Count).Select
    ActiveWindow.Zoom = True: ActiveWindow.VisibleRange(1, 1).Select
End Sub

Open in new window

Why does the zoom range set differently between sheet1 and sheet2 when some of the rows are different heights but it is the same number of used columns?

Is there a better way to write this? I would like for it to only set the active zoom based columns with used cells.....
EE-UsedZoomRange-Test.xlsm
0
Comment
Question by:-Polak
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 6
15 Comments
 
LVL 26

Expert Comment

by:ProfessorJimJam
ID: 40374279
use this instead of that

Sub UsedRangeZoom()
    'set zoom for active sheet to columns with data
Application.EnableEvents = True
    Application.WindowState = xlMaximized
    ActiveSheet.UsedRange.Select
    ActiveWindow.Zoom = True
End Sub

Open in new window

0
 
LVL 1

Author Comment

by:-Polak
ID: 40374301
JimJam your code does the same thing 86% zoom on sheet1 76% zoom on sheet2.....
0
 
LVL 26

Expert Comment

by:ProfessorJimJam
ID: 40374303
does both of the sheets has similar amount data in their cells?
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 1

Author Comment

by:-Polak
ID: 40374305
I attached the example. Yes sheet1 and sheet2 are identical, except in sheet2 the row heights have been modified.
0
 
LVL 26

Expert Comment

by:ProfessorJimJam
ID: 40374322
check the file that i hereby attached.  let me know how the zoom works.
sssss.xlsm
0
 
LVL 1

Author Comment

by:-Polak
ID: 40374877
I got a runtime error 91 as soon as tired to open that file.
I've reattached your workbook with the bits of code not pertinent to this question disabled. Lets just focus on the Zoom issue not any of the environment things you are helping me on in another question....

For me your code doesn't set the zoom at all for used cells in the attached. Moreover your code doesn't even allow me to switch between sheet1 and sheet2.
Copy-of-sssss.xlsm
0
 
LVL 26

Expert Comment

by:ProfessorJimJam
ID: 40375201
OK,  please see attached file. it is 100% working. I checked it myself and it works.
F--Auto-Zoom-VBA.xlsm
0
 
LVL 1

Author Comment

by:-Polak
ID: 40377455
Question, what are you zoom %'s on sheet1 vs. sheet2? (mine are 86% vs 72%) pretty much the same result as my original code.....
0
 
LVL 26

Expert Comment

by:ProfessorJimJam
ID: 40377464
it depends on the monitor of your screen.  min eis 90 and next one 103
0
 
LVL 1

Author Comment

by:-Polak
ID: 40377481
Given that the "Used Range" is the same between both sheets why the difference just because sheet2 has some modified row heights?
0
 
LVL 26

Expert Comment

by:ProfessorJimJam
ID: 40377699
yes exaclty
Row Heights affects zoom range and that is why, there is difference.
0
 
LVL 1

Author Comment

by:-Polak
ID: 40377740
Going back to my original need, I only want the zoom range to set based upon used COLUMNS, I do not want row heights to effect anything; my original code shouldn't behave that way yet it does....
0
 
LVL 23

Accepted Solution

by:
Ejgil Hedegaard earned 2000 total points
ID: 40383039
You select the entire used range, and make the window zoom on that selection.
Then the rows also need to fit the window,
To only zoom on the columns, select the first row only.

So the macro will be

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    ActiveSheet.UsedRange.Rows(1).Select
    ActiveWindow.Zoom = True
    ActiveWindow.VisibleRange(1, 1).Select
End Sub

Open in new window

0
 
LVL 1

Author Closing Comment

by:-Polak
ID: 40383105
Hummm, okay I see what I did wrong, thank you!
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article descibes how to create a connection between Excel and SAP and how to move data from Excel to SAP or the other way around.
Excel can be a tricky bit of software to get your head around. Whilst you’ll be able to eventually get to grips with the basic understanding of how to get by, there are a few Excel tips that not everybody will even know about let alone know how to d…
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
This Micro Tutorial demonstrates in Microsoft Excel how to consolidate your marketing data by creating an interactive charts using form controls. This creates cool drop-downs for viewers of your chart to choose from.

719 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question