Avatar billede janospetro Nybegynder
16. oktober 2002 - 10:24 Der 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 :-)))
Avatar billede rvm Nybegynder
16. oktober 2002 - 11:55 #1
Når du ligger informationerne ind i dit regneark bruger du nok noget kode som dette (meget simplificeret):

Sub OK_Clik()
  Range("A1") = txtBoks.Text
end sub

Du skal nu bruge en metode som du har på din userform, så informationerne fra regnearket kommer ind i userformen, når den aktiveres:

Sub Userform_Activate()
txtBoks.Text = Range("A1")
End sub

Held og lykke
Avatar billede kabbak Professor
16. oktober 2002 - 20:07 #2
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 .
Avatar billede martin_moth Mester
17. oktober 2002 - 11:04 #3
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...
Avatar billede martin_moth Mester
18. oktober 2002 - 20:17 #4
Er du med, janospetro?
Avatar billede martin_moth Mester
18. oktober 2002 - 20:18 #5
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...
Avatar billede janospetro Nybegynder
21. oktober 2002 - 09:42 #6
Godmandagmorgen

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 (&#8221;A3&#8221;)
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
Avatar billede martin_moth Mester
21. oktober 2002 - 12:54 #7
>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)
Avatar billede janospetro Nybegynder
22. oktober 2002 - 13:26 #8
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
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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