Question posted 2009 · +2 upvotes
I have an app where I put a lot of data into an Excel Worksheet. Once I’m done, I would like to select all the cells from the top left to the bottom right where I have put data in. E.g. say I put data into A1, A2, A3, B1, B2, B3, C1, C2, C3 (a 3×3 grid). How can I select just this grid (and not the entire sheet). I guess by saying something like
ActiveSheet.SelectUsedCells
Any pointers? (Yes – I know I could just remember the bottom right cell when I put it in from my app)
Accepted answer +12 upvotes
Here you go:
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Or if you don’t necessarily start at A1:
Range("C6").Select ' Select a cell that you know you populated'
Selection.End(xlUp).Select
Selection.End(xlToLeft).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
2 code variants in this answer
- Variant 1 — 3 lines, starts with
Range("A1").Select - Variant 2 — 5 lines, starts with
Range("C6").Select ' Select a cell that you know you popul…
Excel VBA objects referenced (5)
Top excel-vba Q&A (6)
- How to clear the entire array? +58 (2010)
- How to change Format of a Cell to Text using VBA +55 (2011)
- Download attachment from Outlook and Open in Excel +43 (2012)
- Can a VBA function in Excel return a range? +36 (2009)
- 2 Dimensional array from range +34 (2013)
- Hiding an Excel worksheet with VBA +33 (2009)
excel-vba solutions on this site
.