Article ID: 133139
Article Last Modified on 10/11/2006
A1: Value A B1: Value B C1: Value C
A2: A-2 B2: B-2 C2: C-2
A3: A-3 B3: B-3 C3: C-3
A4: A-4 B4: B-4 C4: C-4
A5: A-5 B5: B-5 C5: C-5
A6: A-6 B6: B-6 C6: C-6
A7: A-7 B7: B-7 C7: C-7
A8: A-8 B8: B-8 C8: C-8
A9: A-9 B9: B-9 C9: C-9
A10: A-10 B10: B-10 C10: C-10
' The following Visual Basic for Applications code provides the ability
' to select all of the visible cells in the current region based on a
' single cell (similar to the way sort works); it allows you to copy
' only the visible cells to another worksheet.
Sub Select_All_Visible_Cells()
'Select all cells that have a "visible" property.
Range("A1").CurrentRegion.SpecialCells(xlVisible).Select
'Copy the visible cells to worksheet named "Sheet2".
Selection.Copy Worksheets("Sheet2").Range("A1")
End Sub
Sub Select_Specific_Visible_Cells()
' Area is set as an object that defines the Current Region.
' Current Region contains all the cells starting at the cell
' defined in the Range Method and bounded by blank rows and blank
' columns (or the edges of the worksheet).
Set area = Range("A1").CurrentRegion
' LastColumn is the column number for the last column in the
' Current Region.
lastcolumn = area.Columns.Count
' EndRow is set as an object that contains all the cells in the
' last row (the last record) in Current Region.
Set endrow = area.Offset(area.Rows.Count - 1).Resize(1, lastcolumn)
' SearchRow is set as an object that contains the first row in the
' current region.
Set searchrow = area.Resize(1, lastcolumn)
' The outside "Do Until" loop allows us to look at each row, one
' row at a time until we reach the end of the Current Region.
Do Until searchrow.Row >= endrow.Row
' The inside "Do" loop locates the next visible.(not hidden) row.
Do
' Verify we didn't select past the end of the Current Region.
If searchrow.Row < endrow.Row Then
' If OK then select the next row to be checked.
Set searchrow = searchrow.Offset(1)
Else
' If the selection goes past the end of Current Region, exit the
' sub.
Exit Sub
End If
' Continue to look until a row is found that's not hidden.
Loop Until searchrow.EntireRow.Hidden = False
' Select the visible row.
searchrow.Select
' The "For Each" loop allows you to look at, copy, modify, and so
' on, each cell in the visible row. "MsgBox" then displays each
' cell's value.
For Each Cell In Selection
MsgBox Cell.Value
Next
' After we process a visible row, loop back and look for another.
Loop
End Sub
OFF2000: How to Run Sample Code from Knowledge Base Articles
Additional query words: 5.00c 8.00 97 XL97 XL
Keywords: kbhowto kbprogramming KB133139