16. oktober 2002 - 10:24Der er
6 kommentarer og 2 løsninger
Hente information fra regneark til userform (VBA)
Jeg har en userform som, hvor oplysningerne beregnes og lægges fint ned i Excel. Men jeg har 54 felter og skal tit genbruge informationerne. Spørgsmålet er derfor: Hvordan man kan hente informationerne fra en række i Excel, og så bruge dem i userformen så det hele ikke skal genindtastes. Gerne med en smart søgefunktion, så man ikke skal ned og se i regnearket. Håber der er et bud på dette :-)))
Hvis du har så mange felter og du siger at du vil genbruge værdierne, vil det så ikke være smartere at have combo-boxe ,der henter data fra nogle lister med de mest gentagne tekster, i stedet for tekst-boxe .
Bare en ide til noget kode du kan smide på din userform:
Private Sub CommandButton1_Click() Dim Rækkenr As Integer ListBox1.Clear For Rækkenr = 1 To 54 ListBox1.AddItem Worksheets("Ark1").Cells(i, 1) Next Rækkenr End Sub
Ovenstående smider cellerne A1:A54 fra arket "Ark1" ind i en Listbox på din userform...
PS: En lille fejl i ovenstående eksempel, der skal stå:
Private Sub CommandButton1_Click() Dim Rækkenr As Integer ListBox1.Clear For Rækkenr = 1 To 54 ListBox1.AddItem Worksheets("Ark1").Cells(Rækkenr, 1) '<- Rettet Next Rækkenr End Sub
Ovenstående smider cellerne A1:A54 fra arket "Ark1" ind i en Listbox på din userform...
Tak for de gode forslag, og undskyld jeg ikke har været med, men børnene har ligget syge og jeg var uden internet. SUK. Begge dele er i bedring nu.
Ad) rvm. Dit forslag virker umiddelbart mest som det jeg havde tænkt mig, MEN jeg har problemer med at få det til at virke.
Problemet ligger nok i at få defineret hvorfra oplysninger skal hentes. Lad os sige at der er tastet navn, adresse, personnummer, skole, handicap, start og slutdato mm ind og man skal ind og rette én oplysning.
Jeg ville gerne undgå at brugerne skal ned i selve regnearket, derfor er jeg ude efter at hente disse, nok ved tryk på en knap da behovet kun kommer en gang i mellem, som regel indta-stes der kun nye oplysninger. Knappen kunne kodes således:
Private Sub cmbOpdater_Click() txtRegistrantNavn.Text = Range (”A3”) txtRegistrantCPR ..... osv End Sub
Jeg har informationerne på et ark der hedder Anbringelser. Men jeg ville gerne kunne ud-vælge nogle af dem fx ved søgning på CPR-nummer og så vælge derfra.
Ad) kabbak Jeg har syv comco-boxe, med postnummer og by, kommuner, § mv. Men desværre er gen-tages de oplysninger jeg søger ikke så tit at det ville være smart. Se ovenstående.
Ad) martin moth Tak for dine mange forslag, og jeg er nok for uprøvet i Excel, men hvorfor er en listbox smart hvis informationerne skal ud i felter?
Håber I stadig er med, selv om jeg har været væk nogle dag Venlig hilsen Janos Petro
>janospeco Jeg tror vi har talt forbi hinanden (jeg har misforstået)
For at gøre det simpelt og generelt. Celle A2 indeholder data. I nedenstående hentes disse data til en userforms textfelt, og i det andet eksempel skrives de til regnearket fra userformens textfelt:
TIL userform FRA regneark: text1.text = Worksheets("Ark1").Cells(2, 1)
FRA userform TIL regneark: Worksheets("Ark1").Cells(2, 1) = text1.text
Det kan du så skifte arknavn, textfeltnavn, rækkenummer og kolonnenummer og loop omkring, hvis du har flere felter :o)
Tak for hjælpen. martin_moth sidste forslag var det jeg søgte, men jeg har måtte lave en Salomonsk løsning, da det basalt set var næsten samme forslag som rvm kom med allerførst (det kunne jeg bare ikke få til at virke). Jeg har derfor fordelt point'ne med 20 til martin_moth og 10 til rvm. Håber I er tilfredse med det. ;-) JanosPetro
Synes godt om
Ny brugerNybegynder
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.