ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   worksheet loop (https://www.excelbanter.com/excel-programming/378950-re-worksheet-loop.html)

Tom Ogilvy

worksheet loop
 
Public Sub Processteams()
Dim iLastRow As Long
Dim i As Long
Dim iCol As Long
Dim iRow As Long
Dim sh as Worksheet

for each sh in Worksheets
if sh.Name < "Sheet1" and sh.Name < "Sheet2" then
with sh
.Rows("1:300").Insert Shift:=xlToRight
iLastRow = .Cells(.Rows.Count, "o").End(xlUp).Row
For i = 1 To iLastRow
iCol = 0
On Error Resume Next
iCol = Application.Match(.Cells(i, "o").Value, _
.Rows(1), 0)
On Error GoTo 0
If iCol = 0 Then
iCol = .Range("a1").End(xlToRight).Column + 1
If iCol .Columns.Count Then
iCol = IIf(.Range("a1").Value = "", 1, 2)
End If
.Cells(1, iCol).Value = .Cells(i, "o").Value
iRow = 2
.Cells(1, iCol).Interior.ColorIndex = 37
Else
iRow = .Cells(1, iCol).End(xlDown).Row + 1
End If
.Cells(iRow, iCol).Value = .Cells(i, "c").Value
Next i
End With
End if
Next sh
End Sub

--
Regards,
Tom Ogilvy

"Sjakkie" wrote:

how can i adapt the following script to run on all worksheets in a workbook
but to ignore and go to the next sheet if the sheet name equals "Sheet1" or
"Sheet2"

Public Sub Processteams()
Dim iLastRow As Long
Dim i As Long
Dim iCol As Long
Dim iRow As Long
With ActiveSheet


Rows("1:300").Insert Shift:=xlToRight
iLastRow = .Cells(.Rows.Count, "o").End(xlUp).Row
For i = 1 To iLastRow
iCol = 0
On Error Resume Next
iCol = Application.Match(.Cells(i, "o").Value, _
ActiveSheet.Rows(1), 0)
On Error GoTo 0
If iCol = 0 Then
iCol = ActiveSheet.Range("a1").End(xlToRight).Column + 1
If iCol .Columns.Count Then
iCol = IIf(ActiveSheet.Range("a1").Value = "", 1, 2)
End If
ActiveSheet.Cells(1, iCol).Value = .Cells(i, "o").Value
iRow = 2
ActiveSheet.Cells(1, iCol).Interior.ColorIndex = 37
Else
iRow = ActiveSheet.Cells(1, iCol).End(xlDown).Row + 1
End If
ActiveSheet.Cells(iRow, iCol).Value = .Cells(i, "c").Value
Next i
End With
End Sub



All times are GMT +1. The time now is 04:31 PM.

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