• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Nieuw tabblad op basis van inhoud van 3 cellen

Status
Niet open voor verdere reacties.

Advanm

Gebruiker
Lid geworden
24 jun 2014
Berichten
25
Hoi, ik heb een sheet gemaakt waarin met een knop een copie van een werkbald wordt gemaakt en de naam daarvan wordt aangepast aan de inhoud van 2 cellen.

als de inhoud van D3 nr1 is moet een copy worden gemaakt van nr1 en de naam moet dan bestaan zoals de knop nu doet. is de inhoud van cell D3 nr2 dan moet nr 2 sheet worden gecopieerd met de naam zoals de knop nu doet.
( ik hoop dat ik het zo duidelijk verwoord )


Code:
Private Sub CommandButton1_Click()
    With Sheets("Invul sheet")
        If .Range("D8,F8").Value <> "" Then
            n = .Range("D8").Value & " " & .Range("F8").Value
            For Each Sh In Sheets
                If Sh.Name Like n Then
                    MsgBox "Tabblad bestaat reeds.", vbExclamation, "Bestaat al"
                    .Range("D8,F8").Value = ""
                    Exit Sub
                End If
            Next
            Sheets("nr1").Visible = True
            Sheets("nr1").Copy , Sheets(Sheets.Count)
            ActiveSheet.Name = .Range("D8").Value & " " & .Range("F8").Value
            .Range("D8,F8").Value = ""
            Sheets("nr1").Visible = False
            ActiveSheet.Tab.ColorIndex = 3
            
        End If
    End With
            

End Sub

Nu wil ik dat eerst wordt gekeken naar de waarde van een andere cell die bepaalt welk van de 2 wordt gecopieerd
 

Bijlagen

Dat zou kunnen met:
Code:
Sheets(Range("D3")).Visible = True
 
Hallo Advanm,

Je zou met een Select Case kunnen werken.
Dus zoiets als:

Code:
Select Case .Range("D3")

Case "nr1"
'doe iets
If .range("D4") .value = "iets anders" then
     'doe iets anders
end if


Case "nr2"
'doe iets anders

Case Else
'Kun je gebruiken voor 'alle andere gevallen'

End Select
 
Waar zet ik die code in de code bij de knop dan?

Er moet eerst worden gechecked wat de waarde van D3 is, is deze nr1 dan moet nr 1 gecopieerd worden. voor de duidelijkheid, nr1 en nr2 zijn al verborgen werkbladen.
 
Je hebt over #2 heen gelezen?
 
Hoi,

Als ik select case gebruik en dan de code van de eerste knop er in zet, krijg ik een compile error ( invald or unqulified reference op de code select case .Range("D3")
 
Je moet ook geen Select Case gebruiken maar deze wijziging doen:

Sheets("nr1").Visible = True

Wijzig je in:

Sheets(Range("D3")).Visible = True


En dan uiteraard op de plaatsen waar dat nog meer nodig is.
 
Hoi,

Intussen heb ik het met case select voor elkaar gekregen zoals ik het wil hebben, zal het topic op opgelost zetten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan