Advertisement
Guest User

Untitled

a guest
Nov 4th, 2015
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. '* This is not working
  2. '* Function getListOfSheetsW() As String
  3. Function getListOfSheetsW() As Variant
  4.     Dim i As Integer
  5.     Dim sheetNames() As String
  6.     ReDim sheetNames(1 To Sheets.Count)
  7.  
  8.     For i = 1 To Sheets.Count
  9.         sheetNames(i) = Sheets(i).name
  10.     Next i
  11.  
  12.     getListOfSheetsW = sheetNames
  13. End Function
  14.  
  15. Function IsInArray(ByVal needle As String, haystack() As String) As Boolean
  16.     Dim element As Variant
  17.  
  18.     For Each element In haystack
  19.         If element = needle Then
  20.             IsInArray = True
  21.             Exit Function
  22.         End If
  23.     Next element
  24.  
  25.     IsInArray = False
  26. End Function
  27.  
  28. Sub CreateNewSheet(ByVal dstWSheetName As String)
  29.     Dim srcWSheetName As String
  30.     Dim sheetNames() As String
  31.  
  32.     sheetNames = getListOfSheetsW()
  33.     Dim sheetCount As Integer
  34.  
  35.     If IsInArray(dstWSheetName, sheetNames) Then
  36.         MsgBox "Sheet with following name: " & dstWSheetName & " already exists"
  37.     Else
  38.         srcWSheetName = ActiveSheet.name
  39.         sheetCount    = Sheets.Count
  40.  
  41.         '* CREATE NEW SHEET
  42.        '* Worksheets(dstWsheetName).Delete
  43.        Sheets.Add.name = dstWSheetName
  44.         '* Q: why 6 instead of 5
  45.        '* Worksheets("Test").Move after:=Worksheets("Sheet5")
  46.        Worksheets(dstWSheetName).Move After: = Worksheets(sheetCount + 1)
  47.  
  48.         '* SWITCH TO SRC SHEET
  49.        Worksheets(srcWSheetName).Activate
  50.     End If
  51. End Sub
  52.  
  53. Sub CreateNewSheetUsingExplicitTypes()
  54.     Call CreateNewSheet("test")
  55. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement