gegevens wegschrijven via een userform

Status
Niet open voor verdere reacties.

jan excel

Gebruiker
Lid geworden
4 mrt 2007
Berichten
437
Beste Experts,

een momenteel bezig met het maken van een excel bestand waarbij ik gegevens wil wegschrijven via een userform.
Echter ik kom er niet verder mee.
Het wordt voor mij te complex doordat er meerde keuze per land zijn (omschrijvingen)

Ik heb in de Excel file in de textvak een beschrijving gemaakt wat precies de bedoeling is.
Hopelijk heb ik het duidelijk genoeg omschreven wat de bedoelingen zijn.
Zie Bijlage

Voorbaat dank.
Jan E
 

Bijlagen

  • Helpmij1.xlsm
    26,7 KB · Weergaven: 37
VBA script gevraagd Excel bestand is en geen duidelijke omschrijving van de een vraag en gaat ook het doel van dit forum voorbij. De vraag en de code zijn niet eenduidig wat het nog makkelijkere maakt. Twee knoppen met dezelfde naam geven ook zeer veel inzicht wat je wil.

In de bijlage mijn interpretatie van een deelprobleem. (selecteer een land in de combobox en klik op een tekst in de listbox)
 

Bijlagen

  • Helpmij1.xlsm
    28 KB · Weergaven: 87
Beste Jan excel,

Ik heb uw vraag even een duidelijkere titel gegeven :)
 
Hoi V&A en andere Experts

V&A,

Jou code voor het vullen de textboxen werkt zoals bedoelt.
Nu dienen de gegevens in de TextBox1 t/m TextBox5 en de landcode in ComboBox1 weggeschreven worden naar het invulblad in de corresponderende kolommen.
De gegevens dienen altijd in de eerste lege regel worden weggeschreven, in dit voorbeeld dus regel 3.
Welke code dient dan toegepast worden voor CommandButton2 in het UserForm.
update bijlage toegevoegd.

Wie kan mij daarbij helpen.

Alvast bedankt.
Jan E

Bekijk bijlage Helpmij2.xlsm
 
Volgens mij zijn zulke basale zaken eenvoudig te vinden. Maar goed

Code:
Private Sub CommandButton2_Click()
    Sheets("Invulblad").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 6) = Array(ComboBox1, TextBox1, TextBox2, TextBox3.Value, TextBox4.Value, TextBox5)
End Sub
 
Beste V&A,

Ten eerste dankjewel voor je reactie en script.
Echter de code voor het weg schrijven naar invulblad lukt niet, er wordt helemaal niks weggeschreven.
Wat doe ik fout of ontbreekt er wat aan de code.

zie bijlage.

Bekijk bijlage Helpmij3.xlsm
 
Kijk eens in rij 29. Als je overal zwevende rommel hebt staan dan kom je natuurlijk niet in rij 3 uit.
 
Laatst bewerkt:
Beste V&A,

Wat dom had ik niet gezien, in ieder geval bedankt, code is dus wel goed.
Nu kan ik weer verder.
Zal vast nog wel terug komen voor een vervolg vraag hopelijk zijn jullie Experts dan ook weer behulpzaam.

Groetjes,
Jan E
 
V&A en overige forumleden,


De code die ik van V&A heb gekregen dient wat aangepast te worden doordat de tabel in werkblad info is gewijzigd.
Er is een kolom G toegevoegd aan de tabel, in deze kolom komt de laatste gebruikte doos te staan die vanuit een andere werkblad
wordt gehaald. In dit voorbeeld is een situatie handmatig in kolom G gecreëerd wat in de praktijk ook zo kan zijn.
Nu is het de bedoeling dat altijd het laatst vermelde "vorige doos" die in kolom G staat ook in TextBox 6 komt te staan (UserForm1)
Deze wordt dan weer weggeschreven, denk dat mij dit dan wel zelf lukt ter aanvulling van de code die v&A mij heeft gegeven.
Zo niet dan meld ik mij wel weer.


V&A of overige forumleden weet jij/iemand dit te realiseren.
Zie bijbijlage.

Bekijk bijlage Helpmij4.xlsm

Groet,
Jan E
 
ik denk niet dat er veel mensen uw uitleg zullen begrijpen.

Nu is het de bedoeling dat altijd het laatst vermelde "vorige doos" die in kolom G staat

speelt het land een rol of moet er ergens naar gezocht worden in een grote hangaar?
 

Bijlagen

  • Helpmij4 (1).xlsm
    35,2 KB · Weergaven: 45
Emields en overige forumleden,

Dank je wel voor je reactie en aanvulling van de code.
Echter het weergeven van de vorige doos in TextBox6 is anders bedoelt.
Je moet het zo zien Kolom A t/m F lopen synchroon aan de land keuze.
Echter de vorige doos in kolom G dien je hiervan los te zien.
Dus m.a.w. heb ik een code nodig voor TextBox 6 die de vorige doos toont die boven de eerste lege regel staat in kolom G.
(ER komt na invoeren van laatste gegevens in een andere werkblad in mijn project telkens weer een volgende vorige doos erbij te staan ik kolom G)

Betreft je vraag over de landkeuze, ja het is nodig om eerst een landkeuze te maken omdat in de praktijk per land er heel veel omschrijvingen zijn.
Door eerst een land keuze te maken worden aantal omschrijvingen in ListBox1 minder en daardoor eenvoudiger een omschrijving te selecteren behorende bij dat land.


hopelijk is het nu wat duidelijker.
Jan E
 
De code die ik van V&A heb gekregen dient wat aangepast te worden doordat de tabel in werkblad info is gewijzigd.
Lijkt mij niet het doel van dit forum.

De vraag begrijp ik niet. Leg zaken duidelijk uit en benoem tabnamen waar iets moetkomen. Hoe zie je dit voor je?
Dus m.a.w. heb ik een code nodig voor TextBox 6 die de vorige doos toont die boven de eerste lege regel staat in kolom G.
 
Hoi Allemaal,

Even een nieuwe poging, op een andere wijze.
Hopelijk is nu e.e.a duidelijker wat de bedoeling is.

In het tabblad "invulblad" wil ik de vorige doos van vorige werkorder vermelden in kolom D van een nieuwe werkorder die daarop volgt. (dus volgende regel)
In kolom A van het "invulblad" staat een formule die de vorige doos van vorige werkorder vermeld in de volgende regel in kolom A.
De bedoeling is nu dat in UserForm1 deze vorige doos in TextBox6 komt te staan zodat bij het wegschrijven van alle gegevens die in UserForm1 staan op de eerste lege regel vanaf kolom A wegschrijft.
De code die aan CommandButton2 hangt is hierop al ingericht.
Echter mijn probleem is dat ik het niet voor elkaar krijg om in TextBox6 (UserForm1) de laatste regel met tekst in kolom A te krijgen.

De gegevens die nu in kolom D staan zijn er handmatig in gezet als voorbeeld zoals het dient te zijn.
Dus bij de volgende werkorder dient in cel d7 wit 30x50 te staan.
zie ook bijlage.

Bekijk bijlage Helpmij4.2.xlsm


groet,
Jan E
 
Met Kolom A Kolom D maak je het er weer, volgens mij, niet duidelijker op. Bedenk eerst even wat het worden moet en hoe het resultaat er uit moet zien ipv steeds weer met misleidende informatie te komen.
 
Laatst bewerkt:
Code:
Private Sub CommandButton2_Click()
 Sheets("Invulblad").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 7) = Array(ComboBox1, TextBox1.Value, TextBox6.Value, TextBox2.Value, TextBox3.Value, TextBox4.Value, TextBox5.Value)
 Sheets("Blad1").Range("G8") = TextBox2.Value
End Sub

Code:
Private Sub ListBox1_Click()
  For j = 1 To 5
    Me("TextBox" & j) = ListBox1.Column(j)
  Next j
 TextBox6 = Sheets("blad1").Range("G8").Value  'of .Cells(Rows.Count, 7).End(xlUp)
End Sub
 
Laatst bewerkt:
Hoi Allen,

De code van HSV was bijna goed, twee kleine aanpassingen en het is nu goed, zie onderstaand.
Allen bedankt voor jullie inbreng en sorry als ik wat onduidelijk ben.
Vind het best wel lastig hoe e.e.a te omschrijven, maar uiteindelijk komen wij er toch uit.

Code:
Private Sub CommandButton2_Click()
 Sheets("Invulblad").Cells(Rows.Count, 2).End(xlUp).Offset(1).Resize(, 6) = Array(ComboBox1, TextBox1.Value, TextBox6.Value, TextBox2.Value, TextBox3.Value, TextBox4.Value, TextBox5.Value)
 Sheets("Blad1").Range("G8") = TextBox2.Value
End Sub

Kan nu verder met het project, zal vast nog wel wat vervolg vragen komen.


Groet,
Jan E
 
Code:
.Resize(, [SIZE=3][COLOR=#ff0000]7[/COLOR][/SIZE]) =Array(ComboBox1, TextBox1.Value, TextBox6.Value, TextBox2.Value, TextBox3.Value, TextBox4.Value, TextBox5.Value)

of:
Code:
.Resize(, [SIZE=3][COLOR=#ff0000]6[/COLOR][/SIZE]) =Array(ComboBox1, TextBox1.Value, TextBox6.Value, TextBox2.Value, TextBox3.Value, TextBox4.Value)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan