Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default Need help with a macro

Hi,
I'd like to write a macro that does the following:

' For each worksheet in the workbook, do the following:
' Get the number of rows
' From A1 to the Last row, find the cells with the word "TOTAL" in
them.
' Print the row that the cell belongs to on the active sheet, and
continue doing so for all rows that you find.

So far, I have the following, but it doesn't work
Sub MySub()
Dim ws As Worksheet
Dim lCount As Long
Dim rFoundCell As Range
Dim MyLastCell As Range
For Each ws In ActiveWorkbook.Worksheets
MsgBox ws.Name
Set MyLastCell = LastCell(ws)
Set rFoundCell = Range("A1")
For lCount = 1 To MyLastCell.Row
Set rFoundCell = Columns(1).Find(What:="TOTAL",
After:=rFoundCell, _
LookIn:=xlValues, LookAt:=xlPart,
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=True)
Worksheets(ws).rFoundCell.Copy
ActiveSheet.Paste
Destination:=Worksheets("Sheet1").Range("D1:D5")
' MsgBox rFoundCell.Row


Next lCount
Next
End Sub

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default Need help with a macro

oops, here is Function LastCell. I've grabbed all this code from
various corners of the Internet and I'm having problems making them
work.

Function LastCell(ws As Worksheet) As Range
Dim LastRow&, LastCol%

' Error-handling is here in case there is not any
' data in the worksheet

On Error Resume Next

With ws

' Find the last real row

LastRow& = .Cells.Find(What:="*", _
SearchDirection:=xlPrevious, _
SearchOrder:=xlByRows).Row

' Find the last real column

LastCol% = .Cells.Find(What:="*", _
SearchDirection:=xlPrevious, _
SearchOrder:=xlByColumns).Column

End With

' Finally, initialize a Range object variable for
' the last populated row.

Set LastCell = ws.Cells(LastRow&, LastCol%)

End Function

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 17
Default Need help with a macro

Hi

Not quite sure if you want to copy the entire row or just the address
or the row number.
Anyway the following will copy the entire row from all sheets when the
word TOTAL apears
in col1 to sheet1 in sequential order.
Hope this is of any help.

Private Sub CommandButton1_Click()
Dim ws As Worksheet
Dim rFoundCell As Range
Dim lCount As Long
q = 1
For Each ws In ActiveWorkbook.Worksheets
MsgBox ws.Name
Worksheets(ws.Name).Select
MyLastCell = Application.CountIf(Worksheets(ws.Name).Columns(1) ,
"TOTAL")
For lCount = 1 To MyLastCell
With Worksheets(ws.Name).Columns(1)
Set rFoundCell = .Find(what:="TOTAL")
If rFoundCell = "TOTAL" Then
rFoundCell.EntireRow.Copy
ActiveSheet.Paste
Destination:=Worksheets("Sheet1").Cells(q, 1)
End If
End With
q = q + 1
Next lCount
Next
End Sub


Cheers Christian

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Macro recorded... tabs & file names changed, macro hangs Steve Excel Worksheet Functions 3 October 30th 09 11:41 AM
Macro Help Needed - Excel 2007 - Print Macro with Auto Sort Gavin Excel Worksheet Functions 0 May 17th 07 01:20 PM
how to count/sum by function/macro to get the number of record to do copy/paste in macro tango Excel Programming 1 October 15th 04 01:16 PM
macro to delete entire rows when column A is blank ...a quick macro vikram Excel Programming 4 May 3rd 04 08:45 PM
Start Macro / Stop Macro / Restart Macro Pete[_13_] Excel Programming 2 November 21st 03 05:04 PM


All times are GMT +1. The time now is 08:03 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"