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

inhoud van textbox naar cel via knop met VBA-code

Status
Niet open voor verdere reacties.

willie76

Gebruiker
Lid geworden
6 nov 2010
Berichten
124
Hallo,

Ik heb een formulier gemaakt met 84 textboxen (!!). Nu wil ik dat alle data uit deze boxen naar 1 rij in een apart excel blad worden gekopieerd.

Ik had zelf gedacht aan deze code:
Code:
Private Sub CommandButton1_Click()
    With Sheets("Database")
    For Each c0l In Sheets("Data").Range("a3,e3,f3,g3,h3,i3,j3,k3,l3,m3,n3,o3,p3,q3,r3,s3,t3,u3,v3,w3,x3,y3,z3,aa3,ab3,ac3,ad3,ae3,af3,ag3,ah3,ai3,aj3,ak3,al3,am3,an3,ao3,ap3,aq3,ar3,as3,at3,au3,av3,aw3,ax3,ay3,az3,ba3,bb3,bc3,bd3,be3,bf3,bg3,bh3,bi3,bj3,bk3,bl3,bm3,bn3,bo3,bp3,bq3,br3,bs3,bt3,bu3,bv3,bw3,bx3,by3,bz3,ca3,cb3,cc3,cd3,ce3,cf3,b3,c3,d3")
     c01 = c01 & "|" & CDec(cl.Value)
     Next
     .Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 84).Value = Split(Mid(c01, 2), "|")
     .Rows(.Range("A" & .Rows.Count).End(xlUp).Row + 1).Value = Rows(.Range("A" & .Rows.Count).End(xlUp).Row + 1).Value
     End With
MsgBox "Waarden zijn opgeslagen in de database!", vbOKOnly
End Sub

(de waarden uit txtbox82 t/m 84 moeten in kolom 2,3 en 4 terecht komen, de rest komt daar achteraan, vandaar de volgorde van cellen)

Nu krijg ik een foutcode 1004 terug. en wordt de regel met mn range aan cellen geel gemarkeerd.

Waar gaat het fout ???

Ik heb nl geen idee meer......

Alvast bedankt voor de hulp
 
Verwerk kolommen 1-4 dan apart en zet de opeenvolgende cellen in een loop zodat je niet alle ranges afzonderlijk moet vermelden.
Een voorbeeldbestand zou ook al helpen.
 
Laatst bewerkt:
Code:
Private Sub CommandButton1_Click()
    With Sheets("Database").Cells(Rows.Count, 1).End(xlUp).Offset(1)
      .offset(,4).Resize(, 80)=.range("E3:CF3").value
      .resize(,3)=.range("B3:D3").value
      .offset(,3)=.range("A3").Value
    end with
End Sub
 
En warme Bakkertje en SNB, dank voor jullie input.
Ik heb de code van SNB geprobeerd. K krijg nu geen foutmeldingen meer, maar er wordt ook geen data neergezet ??!!
en op aanraden van warme bakkertje mn bestand waar k in aan t werken ben......
Bekijk bijlage HDR mamma verzamelsheet.xlsm

t zal vast weer iets simpels zijn, maar blijkbaar ben ik niet slim genoeg.......
 
Code:
Private Sub CommandButton1_Click()
    With Sheets("Database")
        lRow = .Range("E32").End(xlUp).Offset(1).Row
        .Cells(lRow, 1) = TextBox1.Value
        For i = 82 To 84
            .Cells(lRow, i - 80) = Me("TextBox" & i).Value
        Next
        For i = 2 To 81
            .Cells(lRow, i + 3) = Me("TextBox" & i).Value
        Next
    End With
MsgBox "Waarden zijn opgeslagen in de database!", vbOKOnly
End Sub
Private Sub CommandButton2_Click()
    For i = 1 To 84
        Me("TextBox" & i) = vbNullString
    Next
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan