Hi everyone,
I'm trying to select a folder then on each worksheet in each book I would
like to clear the contents of hidden rows 1-4 and then run David McRitchie's
Trimall routine on column H.
Sub PrepClear_Trimall()
Dim lCount As Long
Dim wbResults As Workbook
Dim wbCodeBook As Workbook
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False
On Error Resume Next
Set wbCodeBook = ThisWorkbook
With Application.FileSearch
.NewSearch
strFolder = InputBox("Please enter folder", "Path")
.LookIn = strFolder
.FileType = msoFileTypeExcelWorkbooks
.Filename = "*.xls"
If .Execute > 0 Then 'Workbooks in folder
For lCount = 1 To .FoundFiles.Count 'Loop through all.
'Open Workbook x and Set a Workbook variable to it
Set wbResults = Workbooks.Open(.FoundFiles(lCount))
Dim Shts As Worksheet
'Carries out action for ALL worksheets in active workbook
For Each Shts In ActiveWorkbook.Worksheets
Shts.Rows("1:4").Select
Range("B1").Activate
Selection.ClearContents
Columns("H:H").Select
Range("H5").Activate
Call Trimall
Next
wbResults.Close SaveChanges:=True
Next lCount
End If
End With
On Error GoTo 0
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.EnableEvents = True
End Sub
I've pasted in some recorded macro bits and it works after a fashion but
only carries out the actions on the active sheet of each workbook it goes
into.
Where am I going wrong?
Thank you

Signature
Deirdre
Gary''s Student - 10 Oct 2008 15:47 GMT
After:
For Each Shts In ActiveWorkbook.Worksheets
insert:
Shts.Activate
This will help insure the various ranges are associated with Shts

Signature
Gary''s Student - gsnu200806
> Hi everyone,
>
[quoted text clipped - 54 lines]
>
> Thank you
Diddy - 10 Oct 2008 16:05 GMT
Thank you Gary's Student :-)
Is there a difference between Activate and Select in this case?
Cheers
Diddy

Signature
Deirdre
> After:
>
[quoted text clipped - 62 lines]
> >
> > Thank you
Rick Rothstein - 11 Oct 2008 20:18 GMT
From the Remarks section of the help files for the Select Method (for a
range)...
"To select a cell or a range of cells, use the Select method.
To make a single cell the active cell, use the Activate method."

Signature
Rick (MVP - Excel)
> Thank you Gary's Student :-)
>
[quoted text clipped - 73 lines]
>> >
>> > Thank you
Dave Peterson - 10 Oct 2008 15:48 GMT
Untested, but it did compile:
Option Explicit
Sub PrepClear_Trimall()
Dim lCount As Long
Dim wbResults As Workbook
Dim wbCodeBook As Workbook
Dim Shts As Worksheet
Dim strFolder As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False
Set wbCodeBook = ThisWorkbook
With Application.FileSearch
.NewSearch
strFolder = InputBox("Please enter folder", "Path")
.LookIn = strFolder
.FileType = msoFileTypeExcelWorkbooks
.Filename = "*.xls"
If .Execute > 0 Then 'Workbooks in folder
For lCount = 1 To .FoundFiles.Count 'Loop through all.
'Open Workbook x and Set a Workbook variable to it
Set wbResults = Workbooks.Open(.FoundFiles(lCount))
'Carries out action for ALL worksheets in active workbook
For Each Shts In wbResults.Worksheets
Shts.Select
Shts.Rows("1:4").ClearContents
Shts.Columns("H:H").Select
Call Trimall
Next Shts
wbResults.Close SaveChanges:=True
Next lCount
End If
End With
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.EnableEvents = True
End Sub
> Hi everyone,
>
[quoted text clipped - 57 lines]
> --
> Deirdre

Signature
Dave Peterson
Diddy - 10 Oct 2008 16:06 GMT
Thank you Dave :-)
Works beautifully
Cheers
Diddy

Signature
Deirdre
> Untested, but it did compile:
>
[quoted text clipped - 101 lines]
> > --
> > Deirdre