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

Gegevens rechts aanvullen.

Status
Niet open voor verdere reacties.

danny147

Terugkerende gebruiker
Lid geworden
29 apr 2007
Berichten
4.744
Beste, ;)

Graag zou ik de inhoud van TextBox1 rechts van een reeks waarden willen aanvullen.

maw. in kolom B, C en D staan er soms gegevens en moet de waarde er rechts naast komen te staan.

Heb volgende code geprobeerd maar helaas :

Code:
Sheets("Blad1").Columns(2).Find(TextBox2, , xlValues, xlWhole).End(xlLeft).Offset(0, 1) = TextBox1.Value

Groetjes Danny. :thumb:
 
Zo iets moet het worden.

Code:
Sheets("Blad1").Columns(2).Find(TextBox2, , xlValues, xlWhole).End(xlLeft).Offset(0, 0) = inhoud_cel & TextBox1.Value

De inhoud van de gevonden cel moet weer teruggezet worden samen met textbox1.waarde.

Cobbe
 
Zoiets Danny?
Code:
Private Sub CommandButton2_Click()
  Dim rij As Integer
    With Sheets("Blad1")
     rij = Columns(2).Find(CInt(TextBox2.Value), , xlValues, xlWhole).Row
    .Cells(rij, .Columns.Count).End(xlToLeft).Offset(, 1) = TextBox1.Value
  End With
End Sub
 
Beste HSV, ;)

Bedankt voor de werkende oplossing.

Ik dacht dat het met één regeltje ook kon geschreven worden :D :p

Groetjes Danny. :thumb:
 
Dat kan. :d
Code:
Cells(Columns(2).Find(CInt(TextBox2.Value), , xlValues, xlWhole).Row, Columns.Count).End(xlToLeft).Offset(, 1) = TextBox1.Value
 
Beste HSV, ;)

Bedankt hé :D

Groetjes Danny. :thumb:
 
Beste HSV, ;)

Ik wil er een tabblad aan toevoegen.

Heb het volgende gedaan, maar lukt niet.

Code:
With Sheets("Blad2").Cells(Columns(2).Find(CInt(ComboBox1.Value), , xlValues, xlWhole).Row, 
Columns.Count).End(xlToLeft).Offset(, 1) = Format(TextBox1.Value, "dd/mm/yyyy")

Groetjes Danny.:thumb:
 
Hallo Danny,

Kun je een bestandje uploaden hoe het er uit ziet, en wat er gebeurd?
 
Beste HSV, ;)

Het is te groot om hier te plaatsen, misschien via mailadres.

Groetjes Danny. :thumb:
 
Ik heb je een mail gestuurd Danny.
Maar misschien is een voorbeeldbestandje ook al genoeg hier op het forum.
Kunnen andere helpers ook meedenken naar een oplossing.
 
Probeer het zo eens Danny.
Code:
With Sheets("Vervangingen van kabels")
       .Cells(.Columns(2).Find(ComboBox1.Value, , xlValues, xlWhole).Row, .Columns.Count) _
       .End(xlToLeft).Offset(, 1) = Format(TextBox1.Value, "dd/mm/yyyy")
  End With
 
Laatst bewerkt:
Beste HSV, ;)

In TextBox1 staat de datumnotatie juist, maar wordt verkeerd weggeschreven ondanks dat er in de code ook de juiste datumnotatie staat :confused:

Groetjes Danny. :thumb:
 
Laatste stukje van de code.
Code:
.End(xlToLeft).Offset(, 1) = [COLOR="red"]DateValue(TextBox1.Value)[/COLOR]
 
Beste HSV, ;)

Deze werkt perfect nu. :thumb:

Kan je de code nog verbeteren of sneller doen werken ?

Nu doet hij er 7 sec. over, om de gegevens weg te schrijven.

Groetjes Danny. :thumb:
 
Dat was me al opgevallen. :eek:
Als je de code laat lopen in de module zie je vanaf 'With Sheets("Vervangingen")'
dat de code erg lang werk heeft.
Ik zal er eens een blik op werpen Danny, maar ik kan je niks beloven. :o
 
Hiermee gaat het wel iets sneller Danny, maar of dit nou veel tijdwinst oplevert. :confused:
Code:
With Sheets("Vervangingen")
        Dim sq As Variant
          frow = .Range("C3000").End(xlUp).Row + 1
           sq = Me.ComboBox1.Value & "|" & Me.TextBox1.Value & "|" & Me.ComboBox2.Value & "|" & Me.TextBox7.Value & "|" & Me.TextBox6.Value & "|" & _
        Me.TextBox3.Value & "|" & Me.TextBox2.Value & "|" & Me.TextBox4.Value & "|"
            .Cells(frow, 3).Resize(, 8).Value = Split(sq, "|")
    If Not IsNumeric(.Cells(frow, 7).Resize(, 4)) Then _
        .Cells(frow, 7).Value = .Cells(frow, 7) * 1
        .Cells(frow, 8).Value = .Cells(frow, 8) * 1
        .Cells(frow, 9).Value = .Cells(frow, 9) * 1
        .Cells(frow, 10).Value = .Cells(frow, 10) * 1
'        .Cells(frow, 3).Value = ComboBox1.Value
'        .Cells(frow, 4).Value = TextBox1.Value
'        .Cells(frow, 5).Value = ComboBox2.Value
'        .Cells(frow, 6).Value = TextBox7.Value
'        .Cells(frow, 7).Value = TextBox6.Value
'        .Cells(frow, 8).Value = TextBox3.Value
'        .Cells(frow, 9).Value = TextBox2.Value
'        .Cells(frow, 10).Value = TextBox4.Value


            End With
 
Code:
Private Sub CommandButton2_Click()
        If ComboBox1.Value = "" Or ComboBox2.Value = "" Or TextBox1.Value = "" Or TextBox2.Value = "" Or TextBox3.Value = "" Or TextBox4.Value = "" Or TextBox6.Value = "" Or TextBox7.Value = "" Then
            MsgBox "Gelieve alle gegevens in te vullen": Exit Sub
        ElseIf OptionButton1 = True Then
            If MsgBox("Je hebt gekozen voor manuele ingave", vbYesNo) = vbNo Then Exit Sub
        ElseIf OptionButton2 = True Then
            If MsgBox("Je hebt gekozen voor automatische ingave", vbYesNo) = vbNo Then Exit Sub
        End If
            With Sheets("Ingeven van draadbreuken").Columns(2).Find(ComboBox1, , xlValues, xlWhole)
                .Offset(0, 2) = TextBox2
                .Offset(0, 4) = TextBox4
            End With
            Sheets("Ingeven diameter v-d kabels").Columns(2).Find(ComboBox1, , xlValues, xlWhole) _
                .Offset(0, 2) = TextBox3
            Sheets("Ingeven van opmerkingen").Columns(2).Find(ComboBox1, , xlValues, xlWhole) _
                .Offset(0, 2) = TextBox5
            sq = ComboBox1.Value & "|" & TextBox1.Value & "|" & ComboBox2.Value & "|" & TextBox7.Value & "|" & TextBox6.Value & "|" & TextBox3.Value & "|" & TextBox2.Value & "|" & TextBox4.Value
            Sheets("Vervangingen").Range("C3000").End(xlUp).Offset(1).Resize(, 8) = Split(sq, "|")
        MsgBox ("Gegevens zijn weggeschreven")
End Sub
Als je er toch geen berekeningen moet mee doen zou ik het getal als tekst laten staan. de omzetting vraagt dubbele tijd. Zonder omzetting op mijn systeem 1.8s, met omzetting 3.5s
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan