I don't know of a way to make it more efficient, but you can get rid of all the redundant typing by using a variable for the worksheet name, then calling the sub once for each different worksheet.
Example:
Sub DidCellsChange(WorksheetName As String)
Dim cell As Range
For Each cell In Worksheets(WorksheetName).Range("E4:E50")
If cell.Value = "Sold" Then
With Cells(cell.Row, "A").Resize(, 17)
Worksheets(WorksheetName).Cells(Rows.Count, "A").End(xlUp).Offset(1).Resize(, 6).Value = .Value
.ClearContents
End With
End If
Next cell
End Sub
Sub snooze24()
DidCellsChange "ShirinJewelers"
DidCellsChange "Treasures"
DidCellsChange "ExoticDiamonds"
DidCellsChange "Highline"
DidCellsChange "TreasuresJefferson"
DidCellsChange "Ajs"
DidCellsChange "GoldenFever"
DidCellsChange "ForeverDiamonds"
DidCellsChange "DiamondTreasures"
End Sub
If you need anything else please ask.
Bookmarks