Vraag & Antwoord

Programmeren

VBA programeren

12 antwoorden
  • Hello iedereen, Dit is mijn eerste keer op dit forum. Hopelijk kan iemand van jullie experten mij helpen met het volgende probleem. Ik heb een Inputdata-formulier (vba) aangemaakt. Onderaan staan 2 commandbottons "Save" en "Clear". "Clear" is geen probleem. Probleemstelling: Na ingave van data en eindig met "Save" gaat de data in rij 1 van blad 1 staan, OK. Wanneer ik een 2 reeks gegevens wil saven, overschrijft hij gewoon rij 1. Dit is niet de bedoeling. Graag had ik de 2de reeks op rij 2 gehad. Idem dito met ingave de 3de reeks data. Hopend op een antwoord, alvast bedankt!
  • Excel neem ik aan? Welke versie? Je zal een loop moeten doen, die de eerste lege rij opzoekt. Zet het bestand even online, dan kunnen wij het aanpassen.
  • allereerst bedankt voor jouw snelle reactie. Idd, het gaat hier over Excell 2010 Hoe je een bestand online zet, weet ik niet. Kan ik dat ergens terug vinden? in de tab FAQ heb ik hierover niks gelezen... Ik wel alvast een stukje gecopieerd, hopelijk kan je hier al iets mee doen... Private Sub btnSave_Click() Cells(1, 1) = txtTagnr.Text Cells(1, 2) = txtBeschrijving.Text Cells(1, 3) = txtLijn.Text Cells(1, 4) = txtFilternaam.Text Cells(1, 5) = txtZekeringkastplaats.Text End Sub Alvast mercie voor de moeite!!! Mvg, wibo1980
  • Je moet het volgende aanpassen: Private Sub btnSave_Click() Do regel=regel+1 loop until cells( regel,1)="" Cells(regel, 1) = txtTagnr.Text Cells(regel, 2) = txtBeschrijving.Text Cells(regel, 3) = txtLijn.Text Cells(regel, 4) = txtFilternaam.Text Cells(regel, 5) = txtZekeringkastplaats.Text End Sub Wat hij eerst doet, is kijken welke regel leeg is, daarna schrijft hij de data weg op de lege regel.
  • Thank you very much! Het werkt joepie!!! Ben kei blij en nu kan ik verder bouwen aan mijn bestandje. ... Tot ik weer op een probleem stuit natuurlijk, maar dan weet ik waar en bij wie ik moet zijn! Mercie!
  • Mijn volgend probleem: TxtboxFilternaam: moet de ingave beginnen met "F". Indien dit niet het geval is verschijnt er een msgbox. Tot hier ok. Maar bij ingave zoals het hoort (F...)verschijnt ook die msgbox en dit mag niet. Ook bij de "backspace-toets" verschijnt de msgbox nog eens. Dit heb ik zelf al gefabriceerd. Private Sub txtFilternaam_Change() If Not (Var = "F") Then intDummy = MsgBox("De vorm waarin de Filternaam moet gegeven worden is F....") Filternaam = False If (Filternaam - lngVariant) <> lngF Then Filternaam = True End If End Sub Hopelijk kan iemand mij verder helpen...
  • Ik zou het zo aanpakken: [code:1:51584aa2fe] Private Sub txtFilternaam_Change() If txtFilternaam.Text <> "" Then If LCase(Left(txtFilternaam.Text, 1)) <> "f" Then MsgBox "De vorm waarin de Filternaam moet gegeven worden is F...." End If End If End Sub [/code:1:51584aa2fe] De eerste if kijkt of de tekst niet leeg is, de tweede kijkt of de eerste karakter lowercase ongelijk is aan een "f", zo ja zet hij de messagebox op het scherm.
  • Is precies een beetje verschillend van de mijne ;-) Ik zal je tip eens uitproberen. Bedankt!
  • Hey Marc, Nu mijn data input-form klaar is, ben ik nu bezig met een Search-form. De data imput verschijnt op "blad2". De bedoeling is om dit blad te gebruiken als basis voor de Search-form. Mijn vraag: is het mogelijk bij ingave van 1 recordveld dat de rest van de "lege" records automatisch aangevuld worden met de bijhorende data (van "Blad2)? Ik weet echt niet hoe ik hieraan moet beginnen. Als ik al een basis info heb, kan ik het verder zelf uitzoeken. Want anders leer ik er zelf niks bij... Dus alle info is welkom. Alvast bedankt! wibo1980
  • Hangt een beetje af wat je precies wilt. Wil je een global search hebben, waabij je alle velden wilt matchen (met een tussenscherm die alle matches geeft), of alleen maar zoeken op bijvoorbeeld artikelnummer (oid ;) ), en dan de rest aanvullen vanuit de tabel? Het kan allebei, maar de aanpak is anders. (B.T.W.: je hebt mail)
  • Een global search lijkt mij het meest compleet en gebruiksvriendelijk. Als beginnend VBA gebruiker lijkt het mijzelf net iets te moeilijk voor mijn niveau. Dus alle info is meer dan welkom. Ik zou graag mijn volledige bestand willen tonen maar weet niet hoe ik dit moet doen. Feeling stupid! thanks voor je reactie wibo1980
  • [code:1:989c57d914] If OptionButton1.Value = True Then kolom = 1 zoeken = ComboBox1.Text End If If OptionButton2.Value = True Then kolom = 2 zoeken = ComboBox2.Text End If If OptionButton3.Value = True Then kolom = 3 zoeken = ComboBox3.Text End If If OptionButton4.Value = True Then kolom = 4 zoeken = ComboBox4.Text End If If OptionButton5.Value = True Then kolom = 5 zoeken = ComboBox5.Text End If Worksheets(2).Select ListBox1.Clear regel = 1 'regel 1 overslaan, staat omschrijving in Do regel = regel + 1 If Cells(regel, 1) = "" Then Exit Do If InStr(LCase(Cells(regel, kolom)), LCase(zoeken)) > 0 Then tekst = Str(regel) & "> " For X = 1 To 5 tekst = tekst & Cells(regel, X) If X < 5 Then tekst = tekst & " - " Next ListBox1.AddItem tekst End If Loop [/code:1:989c57d914] You've got mail :)

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.