Advertisement
Guest User

Kolano

a guest
Dec 4th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Sub dupa()
  2.     Dim sel As Range, row As Range
  3.     Dim stringArr As Variant
  4.     Dim Worksheet As Worksheet
  5.     Dim inserted As Integer
  6.     Dim sheetName As String, startSheetName As String
  7.     startSheetName = ActiveSheet.Name
  8.     sheetName = "Macro_Results"
  9.     Set sel = Worksheets(startSheetName).Range("A1").CurrentRegion
  10.        
  11.     If isSheetExists(sheetName) = False Then
  12.         Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = sheetName
  13.     End If
  14.    
  15.     Application.DisplayAlerts = False
  16.     ClearSheet (sheetName)
  17.     Application.DisplayAlerts = True
  18.        
  19.     For Each row In sel.Rows
  20.         Dim rng1 As Range
  21.         Set rng1 = row
  22.         rng1.EntireRow.Copy Worksheets(sheetName).Range(rng1.Address)
  23.     Next
  24.        
  25.     For Each row In Worksheets(sheetName).Range("A1", "A65536")
  26.         If InStr(row.Cells(1), "/") > 0 Then
  27.             stringArr = Split(row.Cells(1), "/")
  28.             inserted = 0
  29.             For Each stringEl In stringArr
  30.                 Dim rng As Range
  31.                 Set rng = row
  32.                 If inserted = 0 Then
  33.                     rng.Cells(1) = stringEl
  34.                     inserted = 1
  35.                 Else
  36.                     rng.Offset(1).EntireRow.Insert
  37.                     rng.EntireRow.Copy row.Offset(1)
  38.                     rng.Offset(1).Cells(1) = stringEl
  39.                     inserted = inserted + 1
  40.                 End If
  41.             Next
  42.         End If
  43.     Next
  44.    
  45.     ThisWorkbook.RefreshAll
  46. End Sub
  47.  
  48. Sub RemoveSheet(sheetName As String)
  49.     For Each Sheet In ActiveWorkbook.Worksheets
  50.          If Sheet.Name = sheetName Then
  51.               Sheet.UsedRange.ClearContents
  52.               Sheet.Delete
  53.          End If
  54.     Next Sheet
  55. 'ActiveWorkbook.Worksheets(1).Activate
  56. End Sub
  57.  
  58. Sub ClearSheet(sheetName As String)
  59.     For Each Sheet In ActiveWorkbook.Worksheets
  60.         If Sheet.Name = sheetName Then
  61.             Sheet.UsedRange.ClearContents
  62.         End If
  63.     Next Sheet
  64. End Sub
  65.  
  66. Function isSheetExists(sheetToFind As String) As Boolean
  67.     isSheetExists = False
  68.     For Each Sheet In Worksheets
  69.         If sheetToFind = Sheet.Name Then
  70.             isSheetExists = True
  71.             Exit Function
  72.         End If
  73.     Next Sheet
  74. End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement