ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Automatically go to a cell when opening sheet (https://www.excelbanter.com/excel-programming/422697-automatically-go-cell-when-opening-sheet.html)

Tim[_51_]

Automatically go to a cell when opening sheet
 
Being a novice, I depend on the "Masters" in the NG for answers. I
guess I figured out a macro that always goes to the cell I need to
start on in a sheet. My A & B columns are filled out to Row 550, but I
add data in column C.
I'm on Row 209 right now, so I wanted to go to the first blank cell in
column C. I went to the VBE, right clicked the sheet I wanted the
macro in, and used code below.

I posted this because I had a tough time finding a solution to what I
needed. My search keywords weren't doing the trick. Hope this helps
someone, if they need it.



Private Sub Worksheet_Activate()

Application.ScreenUpdating = False

' Macro that automatically goes to cell I needed. My A & B columns
have the years date
' and day filled out, and I work in Columns C thru BK, with many
hidden columns.
' I wanted a macro that went to the first cell I put data in, below
the row I'd
' already filled out. (Which is in column C)
' If your data starts in a different column, adjust the offsets
accordingly.


' Go to last row in Column C, (Excel 2007 version), use 65536 for
earlier versions.
Range("C1048576").Select


' Go to last used cell in column C
Selection.End(xlUp).Select


' Offset that cell up 13 Rows, 2 columns to left.
' This makes column A visible after the macro runs.
ActiveCell.Offset(-13, -2).Select


' Scrolls to that offset and makes it top, left viewable cell.
Application.Goto reference:=ActiveCell, Scroll:=True


' Offsets one more row than first offset did, then 2 columns.
' That puts the active cell near the center of the sheet
(vertically)
ActiveCell.Offset(14, 2).Select


End Sub

' You can make your active cell the top left cell on the sheet by
using
'ActiveCell.Offset(1, 0).Select
' without the single quote, instead of ActiveCell.Offset(-13,
-2).Select
' Then put a single quote in front of ActiveCell.Offset(14, 2).Select

Per Jessen

Automatically go to a cell when opening sheet
 
Hi

When you turn screenupdating, always be sure to turn it on again. For this
purpose I wouldn't turn off screenupdating.

See my example:

Private Sub Worksheet_Activate()

TargetCol = "C"
LastRow = Rows.Count
Range(TargetCol & LastRow).End(xlUp).Offset(1, 0).Select

End Sub

Hopes it helps

---
Per

"Tim" skrev i meddelelsen
...
Being a novice, I depend on the "Masters" in the NG for answers. I
guess I figured out a macro that always goes to the cell I need to
start on in a sheet. My A & B columns are filled out to Row 550, but I
add data in column C.
I'm on Row 209 right now, so I wanted to go to the first blank cell in
column C. I went to the VBE, right clicked the sheet I wanted the
macro in, and used code below.

I posted this because I had a tough time finding a solution to what I
needed. My search keywords weren't doing the trick. Hope this helps
someone, if they need it.



Private Sub Worksheet_Activate()

Application.ScreenUpdating = False

' Macro that automatically goes to cell I needed. My A & B columns
have the years date
' and day filled out, and I work in Columns C thru BK, with many
hidden columns.
' I wanted a macro that went to the first cell I put data in, below
the row I'd
' already filled out. (Which is in column C)
' If your data starts in a different column, adjust the offsets
accordingly.


' Go to last row in Column C, (Excel 2007 version), use 65536 for
earlier versions.
Range("C1048576").Select


' Go to last used cell in column C
Selection.End(xlUp).Select


' Offset that cell up 13 Rows, 2 columns to left.
' This makes column A visible after the macro runs.
ActiveCell.Offset(-13, -2).Select


' Scrolls to that offset and makes it top, left viewable cell.
Application.Goto reference:=ActiveCell, Scroll:=True


' Offsets one more row than first offset did, then 2 columns.
' That puts the active cell near the center of the sheet
(vertically)
ActiveCell.Offset(14, 2).Select


End Sub

' You can make your active cell the top left cell on the sheet by
using
'ActiveCell.Offset(1, 0).Select
' without the single quote, instead of ActiveCell.Offset(-13,
-2).Select
' Then put a single quote in front of ActiveCell.Offset(14, 2).Select




All times are GMT +1. The time now is 12:13 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com