E
Excel Hates Me
Excel 2003
I am trying to create a macro to perform several functions on each
worksheet within a workbook. The worksheet names are not static. I
have put together a macro (thanks to everyone whose code I borrowed
from various posts) but it only runs on the current sheet. The
remaining sheets are unaffected. Could someone please tell me what I
am doing wrong? I'm going crazy. Thanks for the help.
-----
Sub AllSheetFunctions()
' select all sheets
Dim myArray() As Variant
Dim i As Integer
For i = 1 To Sheets.count
ReDim Preserve myArray(i - 1)
myArray(i - 1) = i
Next i
Sheets(myArray).Select
' begin repeat for all worksheets
Dim ws As Worksheet
Set MySheets = ActiveWindow.SelectedSheets
For Each ws In MySheets
' Autofit
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Columns.autofit
' Go to next blank row in Column G
Range("G1").End(xlDown).Offset(1, 0).Select
' Bold cell and add text
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Count"
' Move one cell to right and bold
Selection.Offset(0, 1).Select
Selection.Font.Bold = True
' Add formula to blank cell at bottom of column 8
Dim LastRow As Long
LastRow = Range("H65536").End(xlUp).Row + 1
Cells(LastRow, 8).Formula = "=COUNTA(H2:H" & LastRow - 1 & ")"
' Move eight cells to right, bold and add text
Selection.Offset(0, 8).Select
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Totals"
' Move one cell to right, bold, and add formula to blank cell
at bottom of column
Selection.Offset(0, 1).Select
Selection.Font.Bold = True
LastRow = Range("Q65536").End(xlUp).Row + 1
Cells(LastRow, 17).Formula = "=SUM(Q2:Q" & LastRow - 1 & ")"
Next ws
' end repeat for all worksheets
End Sub
I am trying to create a macro to perform several functions on each
worksheet within a workbook. The worksheet names are not static. I
have put together a macro (thanks to everyone whose code I borrowed
from various posts) but it only runs on the current sheet. The
remaining sheets are unaffected. Could someone please tell me what I
am doing wrong? I'm going crazy. Thanks for the help.
-----
Sub AllSheetFunctions()
' select all sheets
Dim myArray() As Variant
Dim i As Integer
For i = 1 To Sheets.count
ReDim Preserve myArray(i - 1)
myArray(i - 1) = i
Next i
Sheets(myArray).Select
' begin repeat for all worksheets
Dim ws As Worksheet
Set MySheets = ActiveWindow.SelectedSheets
For Each ws In MySheets
' Autofit
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Columns.autofit
' Go to next blank row in Column G
Range("G1").End(xlDown).Offset(1, 0).Select
' Bold cell and add text
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Count"
' Move one cell to right and bold
Selection.Offset(0, 1).Select
Selection.Font.Bold = True
' Add formula to blank cell at bottom of column 8
Dim LastRow As Long
LastRow = Range("H65536").End(xlUp).Row + 1
Cells(LastRow, 8).Formula = "=COUNTA(H2:H" & LastRow - 1 & ")"
' Move eight cells to right, bold and add text
Selection.Offset(0, 8).Select
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Totals"
' Move one cell to right, bold, and add formula to blank cell
at bottom of column
Selection.Offset(0, 1).Select
Selection.Font.Bold = True
LastRow = Range("Q65536").End(xlUp).Row + 1
Cells(LastRow, 17).Formula = "=SUM(Q2:Q" & LastRow - 1 & ")"
Next ws
' end repeat for all worksheets
End Sub