Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Sub dupa()
- Dim sel As Range, row As Range
- Dim stringArr As Variant
- Dim Worksheet As Worksheet
- Dim inserted As Integer
- Dim sheetName As String, startSheetName As String
- startSheetName = ActiveSheet.Name
- sheetName = "Macro_Results"
- Set sel = Worksheets(startSheetName).Range("A1").CurrentRegion
- If isSheetExists(sheetName) = False Then
- Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = sheetName
- End If
- Application.DisplayAlerts = False
- ClearSheet (sheetName)
- Application.DisplayAlerts = True
- For Each row In sel.Rows
- Dim rng1 As Range
- Set rng1 = row
- rng1.EntireRow.Copy Worksheets(sheetName).Range(rng1.Address)
- Next
- For Each row In Worksheets(sheetName).Range("A1", "A65536")
- If InStr(row.Cells(1), "/") > 0 Then
- stringArr = Split(row.Cells(1), "/")
- inserted = 0
- For Each stringEl In stringArr
- Dim rng As Range
- Set rng = row
- If inserted = 0 Then
- rng.Cells(1) = stringEl
- inserted = 1
- Else
- rng.Offset(1).EntireRow.Insert
- rng.EntireRow.Copy row.Offset(1)
- rng.Offset(1).Cells(1) = stringEl
- inserted = inserted + 1
- End If
- Next
- End If
- Next
- ThisWorkbook.RefreshAll
- End Sub
- Sub RemoveSheet(sheetName As String)
- For Each Sheet In ActiveWorkbook.Worksheets
- If Sheet.Name = sheetName Then
- Sheet.UsedRange.ClearContents
- Sheet.Delete
- End If
- Next Sheet
- 'ActiveWorkbook.Worksheets(1).Activate
- End Sub
- Sub ClearSheet(sheetName As String)
- For Each Sheet In ActiveWorkbook.Worksheets
- If Sheet.Name = sheetName Then
- Sheet.UsedRange.ClearContents
- End If
- Next Sheet
- End Sub
- Function isSheetExists(sheetToFind As String) As Boolean
- isSheetExists = False
- For Each Sheet In Worksheets
- If sheetToFind = Sheet.Name Then
- isSheetExists = True
- Exit Function
- End If
- Next Sheet
- End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement