Hallo,
Hoe kan je VBA laten zoeken naar een naam van een werkblad ??
Ik heb onderstaande al:
Wil het volgende:
- Na ingave van de gebruiker zoeken naar de opvolgende werkbladnummer.
(bijvoorbeeld: werkbladen "1" , "2" , "2A" , "2C", en "4" bestaan.
Stel gebruiker geeft "1A" aan ==> werkblad plaatsen tussen "1" en "2".
Stel gebruiker gaf "1B" aan ==> werkblad plaatsen tussen "1" en "2".
Stel gebruiker gaf "2D" aan ==> werkblad plaatsen tussen "2C" en "4".
Stel gebruiker gad "2B" aan ==> werkblad plaatsen tussen "2A" en "2C"
Dus e.e.a. moet logisch geplaatst en gevonden kunnen worden.
Het mooiste zou zijn als ik wist hoe ik kan zoeken naar een naam van de werkblad zodat ik een bereik kan aangeven waarna VBA moet zoeken. En hoe ik VBA zover kan krijgen dat hij de Opvolgende alfabetletter kan zoeken en plaatsen.
Hoor het graag.
Alvast bedankt.
Hoe kan je VBA laten zoeken naar een naam van een werkblad ??
Ik heb onderstaande al:
Code:
Public Sub CommandButton1_Click()
Dim strNr As String
Dim strExt As String
Dim nameBlad As String
Dim NaBlad As String
nameBlad = Range("B14").Value 'Hier wordt het werkbladnummer ingevuld
On Error Resume Next
Set ws = Worksheets(nameBlad)
If Err.Number = 0 Then
MsgBox "bestaat al"
Exit Sub
Else
ActiveSheet.Name = nameBlad 'Naam van het werkblad wordt het werkbladnummer
End If
strNr = Val(nameBlad)
strExt = Right(nameBlad, 1)
If IsNumeric(nameBlad) Then
If nameBlad = "1" Then
Worksheets(nameBlad).Move before:=Worksheets("Bon")
Else
NaBlad = nameBlad - 1
Worksheets(nameBlad).Move after:=Worksheets(NaBlad)
End If
ElseIf strExt = "A" Then
Worksheets(nameBlad).Move after:=Worksheets(strNr)
Else
iCharValue = Asc(Right(nameBlad, 1))
iCharValue2 = iCharValue - 1
strExt = Chr(iCharValue2)
Do Until Worksheets(strNr & strExt) = True Or Teller = 26
Teller = Teller + 1
If Teller = 1 Then
iCharValue = Asc(Right(nameBlad, 1))
iCharValue2 = iCharValue - 1
strExt = Chr(iCharValue2)
Worksheets(nameBlad).Move after:=Worksheets(strNr & strExt)
Else
iCharValue2 = iCharValue2 - 1
strExt = Chr(iCharValue2)
Worksheets(nameBlad).Move after:=Worksheets(strNr & strExt)
End If
Loop
End If
End Sub
Wil het volgende:
- Na ingave van de gebruiker zoeken naar de opvolgende werkbladnummer.
(bijvoorbeeld: werkbladen "1" , "2" , "2A" , "2C", en "4" bestaan.
Stel gebruiker geeft "1A" aan ==> werkblad plaatsen tussen "1" en "2".
Stel gebruiker gaf "1B" aan ==> werkblad plaatsen tussen "1" en "2".
Stel gebruiker gaf "2D" aan ==> werkblad plaatsen tussen "2C" en "4".
Stel gebruiker gad "2B" aan ==> werkblad plaatsen tussen "2A" en "2C"
Dus e.e.a. moet logisch geplaatst en gevonden kunnen worden.
Het mooiste zou zijn als ik wist hoe ik kan zoeken naar een naam van de werkblad zodat ik een bereik kan aangeven waarna VBA moet zoeken. En hoe ik VBA zover kan krijgen dat hij de Opvolgende alfabetletter kan zoeken en plaatsen.
Hoor het graag.
Alvast bedankt.