Avatar billede Bomanden Nybegynder
15. april 2014 - 12:03 Der er 7 kommentarer og
1 løsning

VBA-UserForm

Hej

Jeg er ny til VBA, men jeg fået lavet mig en UserForm, hvor den nu læsser data ind i Excel arket, problemet er at min programmering ikke flytter data. Når jeg har udfyldt min Form så skal den automatisk læsse data af i række 3 og næste Form i række 4 osv.
Håber du kan hjælpe:

rivate Sub OK_knap_Click()

Dim emptyRow As Long



'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 2

'Transfer information
Cells(emptyRow, 1).Value = Dato_for_hændelse_Combo.Value
Cells(emptyRow, 2).Value = Oprindels_combobox.Value
Cells(emptyRow, 3).Value = Problembeskrivelse_textbox.Value
Cells(emptyRow, 4).Value = Område_combobox.Value
Cells(emptyRow, 5).Value = Emne_combobox.Value
Cells(emptyRow, 6).Value = Risikovurdering_combobox.Value
Cells(emptyRow, 7).Value = Prioritering_combobox.Value
Cells(emptyRow, 8).Value = Deadline_combobox.Value
Cells(emptyRow, 9).Value = Ansvarlig_combobox.Value


End Sub
Avatar billede Dan Elgaard Ekspert
15. april 2014 - 12:45 #1
Jeg er lidt i tvivl om, hvad der er, som du kode IKKE gør???

Hopper den ikke til næste række i arket?
Eller, overfører den ikke fra UserFormen til arket?
Eller begge dele?
Avatar billede Bomanden Nybegynder
15. april 2014 - 13:11 #2
Hej

Den hopper ikke til næste række i mit Excel-ark, den overskriver blot rækken. Den overfører fint data fra min UserForm.

MVH

Bo
Avatar billede Dan Elgaard Ekspert
15. april 2014 - 13:34 #3
Prøv med følgende:

emptyRow = Range("A" & Rows.Count).End(xlUp).Row + 1
Avatar billede Bomanden Nybegynder
15. april 2014 - 13:48 #4
Hej

Hvordan skal jeg placere kodningen? Jeg får fejl når jeg indsætter det således:

Cells(emptyRow = Range("A" & Rows.Count).End(xlUp).Row + 1 , 1).Value = Dato_for_hændelse_Combo.Value

Som jeg skrev er vi helt på basisniveau ;o)

MVH

Bo
Avatar billede Dan Elgaard Ekspert
15. april 2014 - 15:44 #5
Øh, du ta'r gas på mig, ikke???

Du har selv denne linje i den kode, du har givet:
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 2

...og, det er den linje, jeg ændrer til:
emptyRow = Range("A" & Rows.Count).End(xlUp).Row + 1

Måske er du nok på begynder niveau, men, den burde du kunne se :-)
Avatar billede Bomanden Nybegynder
22. april 2014 - 13:39 #6
He he jeg var ikke så opmærksom, tak for hjælpen!
Avatar billede Bomanden Nybegynder
22. april 2014 - 13:43 #7
Og her points
Avatar billede Dan Elgaard Ekspert
22. april 2014 - 14:06 #8
Du skal tildele point til mit svar længere oppe - lige nu har du blot selv lagt et svar :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

SporingsGruppen ApS

Backend-udvikler

Dynamicweb Software A/S

Solution Tech Lead

MAN Energy Solutions

LTSA 4-Stroke Technical Advisor