• 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.

Geselecteerde cellen verwijzing

Status
Niet open voor verdere reacties.

Vangans

Gebruiker
Lid geworden
28 feb 2007
Berichten
50
Beste mensen,

Ik zit met het volgende probleem.

Ik heb een userform geschreven met 4 textboxen, ik vul mijn gegevens in en druk op OK.

Geen probleem deze plaats hij in de eerste cellen.

Nu, als ik het begin van de rij cellen selecteer op de 2de lijn, plaatst hij ze na de OK druk opnieuw in de eerste cel(len).

Hoe krijg ik deze in de geselecteerde cel?

Mvg
VanGans

Mijn code:

Code:
Range("stijl1:stijl18").Select

If stijl.Value > 0 And stijl.Value < 19 Then
        Select Case UserForm7.stijl.Value
        
        Case 1
                rondje_toevoegen
        Case 2
                rondje_toevoegen2
        Case 3
                rondje_toevoegen3
        Case 4
                rondje_toevoegen4
        Case 5
                rondje_toevoegen5
        Case 6
                rondje_toevoegen6
        Case 7
                rondje_toevoegen7
        Case 8
                rondje_toevoegen8
                  
            
        End Select
End If

Code uitleg: Er zijn dus 18 verschillende cellen die elk de naam hebben:stijl1, stijl2, ..
 
Laatst bewerkt:
Plaats eens een voorbeeld bestandje.
Kom er zo niet 1 2 3 uit (zal wwel aan de maandag liggen :)).
 
Is nogal moeilijk, maar ik zal eens iets proberen maken wat er op trekt
 
Het zal niet lukken.

Volgens mij likt de fout bij mijn range

Code:
Range("vleugelstijl1:vleugelstijl1").Select

'Dim d As Range

'For Each d In Range("vleugelstijl1:vleugelstijl1")

De onderstaande heb ik eens getest, maar dat doet hij enkel bij mijn 1ste active cel ipv de 3 cellen ernaast mee te nemen

exemqc3.jpg


Deze moet hij onderaan ook toepassen zoals op de foto

Mvg
 
Laatst bewerkt:
Voorbeeldbestandje demeter, maar de eerste kloppen niet bij het test bestand en zie het ook niet direct.

Mvg
 

Bijlagen

Vangans,

Wat zou dit stuk code moeten doen volgens jou (1e dele van je sub):
Code:
Range("rregel1:rregel1").Select

If rregel.Value > 0 And rregel.Value < 2 Then
        Select Case UserForm7.rregel.Value
        
        Case 1
                rondje_toevoegen
        Case 2
                rondje_toevoegen2
        Case 3
                rondje_toevoegen3
        Case 4
                rondje_toevoegen4
        Case 5
                rondje_toevoegen5
        Case 6
                rondje_toevoegen6
        Case 7
                rondje_toevoegen7
        Case 8
                rondje_toevoegen8
                  
        End Select

End If

Ik kom tot:
Selecteer cel C2
Beekijk of de waarde van rregel tussen de 0 en de 2 zit.
Als dit waar is dan wordt de waarde, ingevoerd door gebruiker, vanuit het userform gecontroleerd aan een case.
komt deze overeen met een van de 8 dan wordt er een macro uitgevoerd.

Mijn vraag is waar haal jij de waarde van rregel vandaan? kan deze namelijk nergens vinden. Tevens txtbox rrgel bestaat ook niet op je Userform (?).

Als we deze onder controle hebben dan loopt de rest er vanzelf achteraan.:)
ps wat doe je precies met de macros welke door de case worden aangesproken? mischien kunnen we deze iets verkorten?.
 
Laatst bewerkt:
Ik heb het bekeken, maar raak er totaal niet wijs uit.

Wat zou rregel.Value moeten betekenen aan het begin van de code?
 
Ja mijn excuses beste,

Laten we verder gaan vanop de foto.

Ik heb 8 foto's die steeds een rondje plaatsen

rondje 1 : 1 rondje
rondje 2 : 2 rondjes
...

Ik klik de eerste cel aan onder rstijlen.

wanneer ik dan op de knop druk verschijn de userform waar ik een waarde van 1 tot 8 kan invullen. vul ik overal 2 in, komen er in elk van de 4 cellen 2rondjes tevoorschijn.

Dit lukt me, maar enkel in de eerste cel. Wanneer ik in de 2de rij sta zet hijz e opnieuw op de eerste rij

ik hoop dat jullie mijn termen iets beter begrijpen.

Mvg

p.s: rregel zou de naam van de eerste cel van de 4 moeten zijn
 
Laatst bewerkt:
Bovendien, wat is het verband tussen de tekstboxen in de userform en de cellen op het blad? Je begrijpt toch dat je de namen van de tekstboxen in je code moet gebruiken. Anders ga je niet de inhoud van die tekstboxen kunnen gebruiken.
 
Klopt idd Wigi, anders zou ik er niet veel mee kunnen doen vrees ik.

Maar ik kan het huidige bestand nie plaatsen omdat er prive gegevens in verwerkt zijn.

de code aan het rondje is alsvolgt ...

Code:
Sub rondje_toevoegen()


     ActiveSheet.Pictures.Insert( _
     "C:\Documents and Settings\VanGans\Bureaublad\Ronde1.bmp" _
     ).Select

    Selection.ShapeRange.IncrementLeft 19
    Selection.ShapeRange.IncrementTop 1.5
   
    Selection.ShapeRange.IncrementLeft 0.75
    Selection.ShapeRange.IncrementTop 0.75

Eigenlijk zoals Demeter zij, zou ik in plaats van (in het voorbeeld bestand) Cel C2 te selecteren, de active cel ik vba moeten plaatsen. Nadien geef ik mijn 4 waarden in en plaats hij deze in de active + de 3 overige cellen ernaast.

Mvg en exc. voor mijn verwoording
 
Laatst bewerkt:
Denkd at we deze richting op moeten gaan:
Code:
Private Sub CommandButton1_Click()

    ActiveCell = Rondjes_maken(Me.kaderstijl.Value)
    ActiveCell.Offset(, 1) = Rondjes_maken(Me.kaderregel.Value)
    ActiveCell.Offset(, 2) = Rondjes_maken(Me.vleugelstijl.Value)
    ActiveCell.Offset(, 3) = Rondjes_maken(Me.vleugelregel.Value)
    
    UserForm7.Hide

End Sub

Sub Rondjes_maken(aantal_rondjes As Long)

    'hier komt de code welke het aantal rondjes maakt

End Sub

maakt je code een stuk overzichtilijker.
Moet alleen ook nog een controle bij dat de ActiveCell alleen gesitueerd kan zijn in kolom A.
De code voor de rondjes heb ik er nog uit gelaten aangezien ik daar nog niet mee heb gewerkt. misschien eind van de dag.
 
Demeter, vba zegt : er wordt een function of variable verwacht. volgens mij heeft het met Rondjes_maken , te maken
 
Laatst bewerkt:
Antowoord op je post: Klopt de functie was nog niet gemaakt :).

Bekijk deze eens:
Code:
Private Sub CommandButton1_Click()

    If Not Intersect(ActiveCell, Range("A:A")) Is Nothing Then
        ActiveCell = Rondjes_maken(Me.kaderstijl.Value)
        ActiveCell.Offset(, 1) = Rondjes_maken(Me.kaderregel.Value)
        ActiveCell.Offset(, 2) = Rondjes_maken(Me.vleugelstijl.Value)
        ActiveCell.Offset(, 3) = Rondjes_maken(Me.vleugelregel.Value)
    End If

    UserForm7.Hide

End Sub

Function Rondjes_maken(aantal_rondjes As Long)
  
    If aantal_rondjes > 0 And aantal_rondjes < 5 Then
        Select Case aantal_rondjes
            Case 1
                 Rondjes_maken = "A"
            Case 2
                 Rondjes_maken = "AA"
            Case 3
                 Rondjes_maken = "AAA"
            Case 4
                 Rondjes_maken = "AAAA"
        End Select
    End If

End Function

Als je 4 plaatjes maakt: Ronde1 heeft 1 rondje, Ronde2 heeft 2 rondjes etc. en vervang de "A" codes door insert code van je plaatjes moet het denk ik wel werken. Nadeel is dat dan wel je file vol komt met plaatjes, wat weer in grootte gaat schelen.
 
Wat moet er bovenaan komen tussen de Range (A:A) Demeter, want voorlopig doet hij niks
 
Je moet een cel in kolom A selecteren anders werkt de code niet.
 
Code:
Private Sub CommandButton1_Click()

    If Not Intersect(ActiveCell, Range("A:A")) Is Nothing Then
        ActiveCell = Rondjes_maken(Me.kaderstijl.Value)
        ActiveCell.offset(, 1) = Rondjes_maken(Me.kaderregel.Value)
        ActiveCell.offset(, 2) = Rondjes_maken(Me.vleugelstijl.Value)
        ActiveCell.offset(, 3) = Rondjes_maken(Me.vleugelregel.Value)
    End If

    UserForm7.Hide

End Sub

Dit bekom ik nu, maar hij zet mijn 4 foto's in de dezelfde cel. De eerste cel heeft wel de naam kaderstijl1. Degene ernaast volgen ook met het cijfer 1. Eronder dan kaderstijl2 ...
 
Laatst bewerkt:
Bekijk dit voorbeeld eens.
Werkt met O als een rondje is volgens mij beter dan een rondje.
Door die plaatjes wordt je bestand anders zo groot.

werkt zonder bereiknamen, omdat we de ActiveCell een offset geven naar de volgende cellen ernaast.
 

Bijlagen

Laatst bewerkt:
Klopt demeter, maar er is een maar, de cellen die erachter komen moeten niet hetzelfde aantal rondjes hebben, vandaar dat ik die userform heb gemaakt.

Zo groot gaat het bestand nu ook niet worden, kan ik het eventueel prive doorsturen demeter?

Mvg
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan