05. december 2003 - 11:40Der 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.
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
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
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
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
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)
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"
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".
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
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.