thanks FireDept!
i made a tweak to place everything on one sheet. thanks!
Sub Excel4444Req()
Dim SourceWb As Workbook
Dim SourceWs As Worksheet, DestWs As Worksheet
Dim c As Range, FRng As Range
Dim DestWsNom As String, AddPrefix As String
Dim LastRow As Long
Set SourceWb = ActiveWorkbook
AddPrefix = "F_" 'New Ws is named after the original, with the prefix ?F_?.
Application.DisplayAlerts = False 'Stop flickering
Set DestWs = Worksheets.Add
For Each SourceWs In SourceWb.Worksheets
LastRow = Cells(Rows.Count, 1).End(xlUp).Row 'DLR
If Left(SourceWs.Name, Len(AddPrefix)) <> AddPrefix Then
Set FRng = Nothing
On Error Resume Next
Set FRng = SourceWs.Cells.SpecialCells(xlCellTypeFormulas, 23) 'Numbers, Texts, Logicals and Errors
If Not FRng Is Nothing Then
DestWsNom = Left(AddPrefix & SourceWs.Name, 30) 'Check
Worksheets(DestWsNom).Delete 'Delete if needed
'Create new ws
With DestWs
.Name = DestWsNom 'Ws Name
.Columns("A:D").NumberFormat = "@" 'Text Format
.Range(.Cells(1, 1), .Cells(1, 4)).Value = Array("ID", "Sheet", "Cell", "Formula") 'Headers
For Each c In FRng
.Range(.Cells(LastRow, 1), .Cells(LastRow, 4)).Value = Array(LastRow - 1, SourceWs.Name, c.Address(0, 0), c.Formula)
LastRow = LastRow + 1 'Counter
Next c
End With
'Set DestWs = Nothing '0
End If
End If
Next SourceWs
Application.DisplayAlerts = True 'Turn back on
MsgBox "Procedure Done!"
End Sub
Bookmarks