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

Script valt buiten het bereik

Status
Niet open voor verdere reacties.

Jack Nouws

Terugkerende gebruiker
Lid geworden
16 apr 2008
Berichten
1.396
Hallo

In deze code krijg ik een foutmelding "Script valt buiten het bereik"
Hoe krijg ik dit stukje wel juist geformuleerd?
Ik werk wel van uit een ander tabblad!!!


Met vr gr
Jack




Code:
Private Sub CboKlantnaam_Change()
    If CboKlantnaam.Value <> "" Then
[COLOR="Red"]        With Worksheets(Leveranciers).Range("D4:D100")[/COLOR]
            Set WA = .Find(CboKlantnaam.Value, LookIn:=xlValues, LookAt:=xlWhole)
            
            txtBedrijfsnaam.Value = Worksheets(Leveranciers).Cells(WA.Row, "C")
                    txtNaam.Value = Worksheets(Leveranciers).Cells(WA.Row, "D")
                   txtAdres.Value = Worksheets(Leveranciers).Cells(WA.Row, "E")
                     txtHnr.Value = Worksheets(Leveranciers).Cells(WA.Row, "F")
                      txtPC.Value = Worksheets(Leveranciers).Cells(WA.Row, "G")
                  txtPlaats.Value = Worksheets(Leveranciers).Cells(WA.Row, "H")

        End With
    End If
End Sub
 
Laatst bewerkt:
Code:
 With Worksheets("Leveranciers").Range("D4:D100")

En dat voor alle regels.


Gr. Cobbe
 
OK bedankt:thumb:
dit had net over het hoofd gezien met kopiëren

Met vr gr
Jack

Ik snap het nog steeds niet, nog steeds de zelfde melding maar dan een regel verder.
Alvast bedankt voor de reaktie

met vr gr
Jack

Code:
Private Sub CboKlantnaam_Change()
    If CboKlantnaam.Value <> "" Then
        With Worksheets("Leveranciers").Range("D4:D100")
[COLOR="Red"]            Set c = .Find(CboKlantnaam.Value, LookIn:=xlValue, LookAt:=xlWhole)[/COLOR]

            txtBedrijfsnaam.Value = Worksheets("Leveranciers").Cells("C" & c.Row)
                       txtnaam.Value = Worksheets("Leveranciers").Cells("D" & c.Row)
                       txtAdres.Value = Worksheets("Leveranciers").Cells("E" & c.Row)
                          txtHnr.Value = Worksheets("Leveranciers").Cells("F" & c.Row)
                          txtPC.Value = Worksheets("Leveranciers").Cells("G" & c.Row)
                     txtPlaats.Value = Worksheets("Leveranciers").Cells("H" & c.Row)

        End With
    End If
End Sub
 
Laatst bewerkt:
Jack Nouws,

Kan het dit zijn?
Code:
With Worksheets("Leveranciers").Range("D4:D100")
            Set c = .Find(CboKlantnaam.Value, LookIn:=xlValue, LookAt:=xlWhole)
            [COLOR="Red"]If Not c Is Nothing [/COLOR]
            txtBedrijfsnaam.Value = Worksheets("Leveranciers").Cells("C" & c.Row)
 
Laatst bewerkt:
Jack Nouws,

Kan het dit zijn?
Code:
With Worksheets("Leveranciers").Range("D4:D100")
            Set c = .Find(CboKlantnaam.Value, LookIn:=xlValue, LookAt:=xlWhole)
            [COLOR="Red"]If Not c Is Nothing [/COLOR]
            txtBedrijfsnaam.Value = Worksheets("Leveranciers").Cells("C" & c.Row)

Ik heb het bestand toegevoegd dan kun je het beter bekijken.

Met vr gr
Jack
 

Bijlagen

Jack Nouws,

Ik denk dat ik het heb gevonden.
Code:
TextBox1.Text = MyRange.Range("C" & c.Row)

De rest moet je zelf even aanpassen.
Code:
TextBox1.Text = MyRange.Range("C" & c.Row)
TextBox4.Text = MyRange.Range("D" & c.Row)
TextBox3.Text = MyRange.Range("F" & c.Row)
TextBox2.Text = MyRange.Range("G" & c.Row)
TextBox5.Text = MyRange.Range("H" & c.Row)
 

Bijlagen

Laatst bewerkt:
Jack Nouws,

Als je deze regel ook aanpast dan heb je bij het uitrollen geen lege ruimte. (blank stuk)
Code:
.RowSource = "Leveranciers" & "!D4:" & Sheets("Leveranciers").Range("D65536").End(xlUp).Address
 
Wim, je kent 2x Textbox4 toe aan verschillende kolommen. Volgende geeft mi een beter resultaat.
Code:
Private Sub CboKlantnaam_Change()
Dim MyRange As Variant, c As Range, i As Long
Set MyRange = Worksheets("Leveranciers")
    If CboKlantnaam.Text <> "" Then
        With MyRange.Range("D4:D100")
            Set c = .Find(CboKlantnaam)
            If Not c Is Nothing Then

                TextBox1.Text = MyRange.Range("C" & c.Row) & " " & MyRange.Range("D" & c.Row)
                TextBox4.Text = MyRange.Range("E" & c.Row)
                TextBox3.Text = MyRange.Range("F" & c.Row)
                TextBox2.Text = MyRange.Range("G" & c.Row)
                TextBox5.Text = MyRange.Range("H" & c.Row)
            End If
        End With
    End If
End Sub

Mvg

Rudi
 
Warme bakkertje,

Wim, je kent 2x Textbox4 toe aan verschillende kolommen. Volgende geeft mi een beter resultaat.
Je heb goed opgelet, ik zie het nu pas, bedankt hier voor.
 
Jack Nouws,

Hier is het aangepaste bestandje en hopelijk naar je zin.
 

Bijlagen

Jack Nouws,

Hier is het aangepaste bestandje en hopelijk naar je zin.

Dag Wim

Zou je het voor mij in een Zip bestandje willen plaatsen?:)
Dat Rar(ren) werkt niet bij mij. :(
Dank U.:thumb:

Met vr gr
Jack Nouws ;)
 
Jack Nouws,

Ik heb even zitten puzzelen om hem naar .ZIP te krijgen.
Hier is die dan.
 

Bijlagen

Jack Nouws,

Ik heb even zitten puzzelen om hem naar .ZIP te krijgen.
Hier is die dan.
Hallo hier ben ik weer,
en nu is het de bedoeling dat de CboPlantnaam de Textboxen (txtPotmaat en txtPrijs) laat vullen.
Zou dat kunnen met de zelfde formule als in CboKlantnaam staat.
Ik heb het in ieder geval wel geprobeerd maar dat werkte niet bij.
P.S. In het werkblad Planten staan nl ook Potmaat en Prijs vermeld.

Met vr gr Jack
 
Warme bakkertje,

Hoe komt het dat als de plantprijs een komma bevat (10,25) dat het dan wordt weggeschreven als tekst.
Is daar wat aan te doen?
 
Jack Nouws,

Zet in B3 je eerste Ordernummer (onzichtbaar - Kleur zwart)
Als je het formulier oproep is het volgende Ordernummer al geplaatst.

Maak de rijen 4 en 5 zichtbaar, waarom ze zijn verborgen weet ik niet.

De rode code erbij zetten.

Code:
Private Sub UserForm_Initialize()	
With CboKlantnaam	
        .RowSource = "Leveranciers" & "!D4:" & Sheets("Leveranciers").Range("D65536").End(xlUp).Address	
         [COLOR="Red"]TextBox10.Text = ActiveSheet.Range("B65536").End(xlUp) + 1[/COLOR]	
    With CboPlantnaam	
        .RowSource = "Planten" & "!A2:" & Sheets("Planten").Range("A65536").End(xlUp).Address	
    End With	
 End With
 
@Wim De celeigenschappen geven nochtans getal aan ? Zal eens zoeken.

Code:
Private Sub CommandButton2_Click()
Dim lrij As Long
ScreenUpdating = False
        lrij = Worksheets("Verkoop").Range("C65536").End(xlUp).Row
        Cells(lrij + 1, "C").Value = CboKlantnaam.Value
        Cells(lrij + 1, "D").Value = TextBox6.Value
        Cells(lrij + 1, "E").Value = CboPlantnaam.Value
        Cells(lrij + 1, "F").Value = TextBox7.Value
        Cells(lrij + 1, "G").Value = TextBox8.Value
        Cells(lrij + 1, "H").Value = TextBox6.Value * TextBox8.Value
        Cells(lrij + 1, "I").Value = TextBox9.Value
        Cells(lrij + 1, "B").Value = TextBox10.Value
        Cells(lrij + 1, "A").Value = Datum.Value
ScreenUpdating = True
    Velden_Leeg
End Sub

Mvg

Rudi
 
Laatst bewerkt:
Warme bakkertje,

@Wim De celeigenschappen geven nochtans getal aan ? Zal eens zoeken.
Dank je wel, ik kan het waarom niet vinden.

Jack Nouws,
Ik was vergeten dat je in deze sub dit (het rode) ook moet plaatsen anders verhoogt hij het niet.
Code:
Private Sub Velden_Leeg()
    Dim Ctl As Control
    For Each Ctl In Order.Controls
        If TypeOf Ctl Is MSForms.TextBox Or TypeOf Ctl Is MSForms.ComboBox Then
            Ctl.Text = ""
        End If
    Next
    [COLOR="Red"]UserForm_Initialize[/COLOR]
    CboKlantnaam.SetFocus
End Sub
 
Wim, heb em gevonden. Door het achtervoegsel Text te gebruiken bij de Textboxen wordt de inhoud ook daadwerkelijk als tekst aanzien. Heb bovenstaande macro aangepast en foutmelding is daardoor ook verdwenen.

Mvg

Rudi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan