ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   List Box Visible Rows Only (https://www.excelbanter.com/excel-programming/280805-list-box-visible-rows-only.html)

John Wilson

List Box Visible Rows Only
 
having some (a lot) of trouble with this.
I know it can be done and I think I've exausted my searches (and my
patience).

I have a list box on a UserForm

I need to fill the list box with a filtered range of data on the active
worksheet.
Header row is row 5.
Data starts on row 6
For example, after a filter, only rows (5), 6, 8 & 10 are visible.
How can I populate the list box with the data for columns A, B & C
with only rows 6, 8 & 10??

TIA,
John


Tom Ogilvy

List Box Visible Rows Only
 
Dim rng as Range
On Error Resume Next
set rng =
Range(Cells(6,1),Cells(rows.count,1).End(xlup)).Sp ecialCells(xlVisible)
On Error goto 0
if not rng is nothing then
for each cell in rng
listbox1.AddItem cell.Value
Next
End if
--
Regards,
Tom Ogilvy

"John Wilson" wrote in message
...
having some (a lot) of trouble with this.
I know it can be done and I think I've exausted my searches (and my
patience).

I have a list box on a UserForm

I need to fill the list box with a filtered range of data on the active
worksheet.
Header row is row 5.
Data starts on row 6
For example, after a filter, only rows (5), 6, 8 & 10 are visible.
How can I populate the list box with the data for columns A, B & C
with only rows 6, 8 & 10??

TIA,
John




John Wilson

List Box Visible Rows Only
 
Tom,

A had actually found (and tried) that code you supplied in the
Google archives.
What I cant do with it is modify it to include three columns.
My list box is three columns wide.
I wanted to populate the List box with what's in Columns A thru C
of the visible rows only??

John


Tom Ogilvy wrote:

Dim rng as Range
On Error Resume Next
set rng =
Range(Cells(6,1),Cells(rows.count,1).End(xlup)).Sp ecialCells(xlVisible)
On Error goto 0
if not rng is nothing then
for each cell in rng
listbox1.AddItem cell.Value
Next
End if
--
Regards,
Tom Ogilvy

"John Wilson" wrote in message
...
having some (a lot) of trouble with this.
I know it can be done and I think I've exausted my searches (and my
patience).

I have a list box on a UserForm

I need to fill the list box with a filtered range of data on the active
worksheet.
Header row is row 5.
Data starts on row 6
For example, after a filter, only rows (5), 6, 8 & 10 are visible.
How can I populate the list box with the data for columns A, B & C
with only rows 6, 8 & 10??

TIA,
John



Tom Ogilvy

List Box Visible Rows Only
 
Dim rng as Range
On Error Resume Next
set rng =
Range(Cells(6,1),Cells(rows.count,1).End(xlup)).Sp ecialCells(xlVisible)
On Error goto 0
if not rng is nothing then
for each cell in rng
listbox1.AddItem cell.Value
listbox1.List(Listbox1.Listcount-1,1) = cell.offset(0,1)
listbox1.List(Listbox1.Listcount-1,2) = cell.Offset(0,2)
Next
End if


I believe you can also do this:

Dim rng as Range
On Error Resume Next
set rng =
Range(Cells(6,1),Cells(rows.count,1).End(xlup)).Sp ecialCells(xlVisible)
On Error goto 0
if not rng is nothing then
for each cell in rng
listbox1.AddItem cell.Value
' haven't tried this, but this is how I understand help
listbox1.column(1) = cell.offset(0,1)
listbox1.column(2) = cell.Offset(0,2)
Next
End if
--
Regards,
Tom Ogilvy


"Tom Ogilvy" wrote in message
...
Dim rng as Range
On Error Resume Next
set rng =
Range(Cells(6,1),Cells(rows.count,1).End(xlup)).Sp ecialCells(xlVisible)
On Error goto 0
if not rng is nothing then
for each cell in rng
listbox1.AddItem cell.Value
Next
End if
--
Regards,
Tom Ogilvy

"John Wilson" wrote in message
...
having some (a lot) of trouble with this.
I know it can be done and I think I've exausted my searches (and my
patience).

I have a list box on a UserForm

I need to fill the list box with a filtered range of data on the active
worksheet.
Header row is row 5.
Data starts on row 6
For example, after a filter, only rows (5), 6, 8 & 10 are visible.
How can I populate the list box with the data for columns A, B & C
with only rows 6, 8 & 10??

TIA,
John






John Wilson

List Box Visible Rows Only
 
Tom,

The second example didn't work.....
"Could not set the Column property. Invalid property array index"
(Win 98 / Excel 2000 SR-3)
But the first one worked like a charm.

THANK YOU!!!

John


Tom Ogilvy wrote:

Dim rng as Range
On Error Resume Next
set rng =
Range(Cells(6,1),Cells(rows.count,1).End(xlup)).Sp ecialCells(xlVisible)
On Error goto 0
if not rng is nothing then
for each cell in rng
listbox1.AddItem cell.Value
listbox1.List(Listbox1.Listcount-1,1) = cell.offset(0,1)
listbox1.List(Listbox1.Listcount-1,2) = cell.Offset(0,2)
Next
End if

I believe you can also do this:

Dim rng as Range
On Error Resume Next
set rng =
Range(Cells(6,1),Cells(rows.count,1).End(xlup)).Sp ecialCells(xlVisible)
On Error goto 0
if not rng is nothing then
for each cell in rng
listbox1.AddItem cell.Value
' haven't tried this, but this is how I understand help
listbox1.column(1) = cell.offset(0,1)
listbox1.column(2) = cell.Offset(0,2)
Next
End if
--
Regards,
Tom Ogilvy

"Tom Ogilvy" wrote in message
...
Dim rng as Range
On Error Resume Next
set rng =
Range(Cells(6,1),Cells(rows.count,1).End(xlup)).Sp ecialCells(xlVisible)
On Error goto 0
if not rng is nothing then
for each cell in rng
listbox1.AddItem cell.Value
Next
End if
--
Regards,
Tom Ogilvy

"John Wilson" wrote in message
...
having some (a lot) of trouble with this.
I know it can be done and I think I've exausted my searches (and my
patience).

I have a list box on a UserForm

I need to fill the list box with a filtered range of data on the active
worksheet.
Header row is row 5.
Data starts on row 6
For example, after a filter, only rows (5), 6, 8 & 10 are visible.
How can I populate the list box with the data for columns A, B & C
with only rows 6, 8 & 10??

TIA,
John





Tom Ogilvy

List Box Visible Rows Only
 
Thanks for testing it. Been meaning to for a while now, but haven't gotten
around to it. I will have to re-read the help and work out the additional
argument needed.

--
Regards,
Tom Ogilvy

"John Wilson" wrote in message
...
Tom,

The second example didn't work.....
"Could not set the Column property. Invalid property array index"
(Win 98 / Excel 2000 SR-3)
But the first one worked like a charm.

THANK YOU!!!

John


Tom Ogilvy wrote:

Dim rng as Range
On Error Resume Next
set rng =
Range(Cells(6,1),Cells(rows.count,1).End(xlup)).Sp ecialCells(xlVisible)
On Error goto 0
if not rng is nothing then
for each cell in rng
listbox1.AddItem cell.Value
listbox1.List(Listbox1.Listcount-1,1) = cell.offset(0,1)
listbox1.List(Listbox1.Listcount-1,2) = cell.Offset(0,2)
Next
End if

I believe you can also do this:

Dim rng as Range
On Error Resume Next
set rng =
Range(Cells(6,1),Cells(rows.count,1).End(xlup)).Sp ecialCells(xlVisible)
On Error goto 0
if not rng is nothing then
for each cell in rng
listbox1.AddItem cell.Value
' haven't tried this, but this is how I understand help
listbox1.column(1) = cell.offset(0,1)
listbox1.column(2) = cell.Offset(0,2)
Next
End if
--
Regards,
Tom Ogilvy

"Tom Ogilvy" wrote in message
...
Dim rng as Range
On Error Resume Next
set rng =

Range(Cells(6,1),Cells(rows.count,1).End(xlup)).Sp ecialCells(xlVisible)
On Error goto 0
if not rng is nothing then
for each cell in rng
listbox1.AddItem cell.Value
Next
End if
--
Regards,
Tom Ogilvy

"John Wilson" wrote in message
...
having some (a lot) of trouble with this.
I know it can be done and I think I've exausted my searches (and my
patience).

I have a list box on a UserForm

I need to fill the list box with a filtered range of data on the

active
worksheet.
Header row is row 5.
Data starts on row 6
For example, after a filter, only rows (5), 6, 8 & 10 are visible.
How can I populate the list box with the data for columns A, B & C
with only rows 6, 8 & 10??

TIA,
John








All times are GMT +1. The time now is 02:22 PM.

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