Avatar billede herot Novice
05. december 2003 - 11:40 Der er 12 kommentarer og
1 løsning

Data fra Regneark til formular

Jeg har et regneark (excel), der består af en række records i et ark. Hver records indeholder navn, adresse, postnummer osv i alt 10 felter. Nu vil jeg gerne indlæse en record i en formular , så jeg kan læse og evt. rette og tilføje informationer om den enkelte person.
Jeg har lavet formularen, men kan ikke få dataerne ind i formularen. Jeg kan få dataerne fra formularen til  regnearket, men som sagt ikke omvendt.
Er der nogen der kan hjælpe.
Avatar billede overchord Nybegynder
05. december 2003 - 12:06 #1
Detl yder umiddelbart som om denne operation er mere egnet til Access, men det vil da vaere muligt at lave noget i Excel der minder om det.
Jeg antager at du har en teksboks for hver information paa arket, en knap til opdatering, samt to knapper til at flytte gennem de forskellige records.
Du er noed til at kende antallet af records paa en eller anden maade.

Koden for at flytte gennem records vil saa blive noget med at holde styr paa hvilken raekke du allerede er i (laeg det f.eks i en cell i dette tilfaelde p4)

sub NextRecord_click()

AktivRaekke = range("p4") 'Saa ved du hvilken raekke du netop har vaeret i

me.Navn = range("a" & aktivraekke +1)
me.Adresse = range("B" & aktivraekke +1)
'osv for alle 10 felter

Range("p4") = aktivraekke +1 ' Saa er cellen opdateret med hvilken record du "staar" paa

Opdateringskoden vil saa blive i samme dur

sub Opdaterknap_click()

AktivRaekke = range("p4")

range("A" & aktivraekke) = me.Navn
osv for alle 10 felter

Her skal aktivraekken ikke opdateres

Haaber det giver mening eller laeg en email og jeg kan sende et eksempel
Avatar billede herot Novice
05. december 2003 - 13:38 #2
Det ser ud til at fungere. Nu mangler jeg kun at finde ud af hvilken rækkenr jeg er i når jeg starter - en værdi til "p4". Det er ikke samme værdi hvergang
Avatar billede overchord Nybegynder
05. december 2003 - 14:51 #3
ok har du et bestemt kriterie elelr vil du bare starte fra toppen hver gang?

Hvis du vil starte fra linje 1 (eller foerste record hver gang) laegger du bare en lille stump kode paa formens luk-handling hvor "p4" saettes til dette raekkenummer.

Ligeledes skal du nok laegge en handling paa formens load hvor recorden fra den foerste linje loades
stort set samme kode som BextRecrod_click() bortset fra at du bare bruger aktiveraekke fremfor aktivraekke +1
Avatar billede herot Novice
05. december 2003 - 16:24 #4
Du skal have dine point, jeg var ved at glemme det i min glæde overat det fungerer. Det sidste sidder jeg og roder lidt med endnu.
Avatar billede overchord Nybegynder
05. december 2003 - 18:00 #5
ok godt at hoere det virker! Haaber det sidste ogsaa kommer til at fungere - hvis ikke saa proev at laegge en besked herinde og jeg holder oeje med traaden de naeste par dage
Avatar billede herot Novice
07. december 2003 - 14:27 #6
Jeg har stadig et lille problem, når jeg har fundet et navn vil jeg gerne have række nummeret indsat automatisk i "p4" (værdien i "p4" er hele tiden rækkenummeret på den aktive celle)
Avatar billede overchord Nybegynder
07. december 2003 - 15:06 #7
ok det er hvis du bruger en anden metode en NextRecord knappen eller hvad?
Avatar billede herot Novice
07. december 2003 - 16:23 #8
Ja det er en anden metode. jeg vil prøve om jeg kan få det andet til at virke.
Avatar billede overchord Nybegynder
07. december 2003 - 16:53 #9
ok, hvilken metode benytter du - eksekveres der stadig kode? Hvis det er tilfaeldet skulle det vaere rimeligt nemt at tilfoeje en stump der laegger en vaerdi i "p4"
Avatar billede herot Novice
07. december 2003 - 17:38 #10
Jeg forstår ikke helt, hvad du mener, jeg er relativ ny i visualBasic. Jeg søger på et navn i regnearket, når det er fundet vil jeg gerne have informationerne i den record ind i formularen, derfor vil jeg gerne have rækkenummeret ind i "p4".
Avatar billede overchord Nybegynder
07. december 2003 - 18:18 #11
ok - hvad jeg mener er at du skal finde ud af hvor du staar i cellerne bagefter (ihvertfald hvilken raekke du er i).

Koden dubruger skal nok ligge i formens laod-haendelse og er:

range("p4") = activecell.row

Dette kan evt udbygges til at sikre at der ikke er valgt en celle udenfor listen over adresser.
if activecell.row < [Den raekke hvor foerste record ligger] Then
range ("p4") = [Den raekke hvor foerste record ligger]
elseif activecell.row > [Den raekke hvor sidste record ligger] then
range ("p4") = [Den raekke hvor foerste record ligger]
else
range("p4") = activecell.row
end if
Avatar billede herot Novice
07. december 2003 - 20:09 #12
Tak, det hjalp mig meget. Det virker nu som jeg vil have.
Det er jo enkelt når man ved hvordan
Avatar billede overchord Nybegynder
07. december 2003 - 20:29 #13
ok glad for at det hjalp :-)
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
Kurser inden for grundlæggende programmering

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