Avatar billede jwo Nybegynder
05. september 2000 - 11:54 Der er 11 kommentarer og
1 løsning

UserForms

Jeg har et lille problem som I \"hajer\" måske kan hjælpe med.
Jeg har oprettet en UserForm, hvori jeg gerne vil have, at der dels skal indgå noget tekst, dels en celle reference og til sidst et indtastningsfelt til brugeren.
F.eks. \"Du har \"=A1\" bananer, hvor mange af disse har du tænkt dig at spise nu\" >indtastningsfelt<

Indtaastningfeltet har jeg klaret men celle referencen kniber det med.

Jeg har prøvet alt men kan simpelthen ikke få det til at lykkes.

Jeg håber spørgsmålet er klart nok.
Avatar billede ploughgaard Nybegynder
05. september 2000 - 12:03 #1
Prøv med dette:

Følgende forudsætninger er anvendt:

Dit worksheet hedder \"Sheet1\"
Den celle hvor antal bananer står er named \"AntalBananer\"
Userform hedder Userform1
Textboksen hedder textbox1

hvis dette ikke passer til dine forudsætninger, må du ændre i koden.


Sub FormInitialize()
Dim txt As String

txt = \"Du har: \" & Worksheets(\"Sheet1\").Range(\"AntalBananer\") & \" bananer\"

UserForm1.TextBox1.Value = txt

UserForm1.Show

End Sub

Avatar billede jwo Nybegynder
05. september 2000 - 12:40 #2
Hej ploughgaard

Jeg tjekker den lige....
Avatar billede jwo Nybegynder
05. september 2000 - 12:59 #3
Det ser ud som om at den kun viser den pågældende tekst, hvis jeg forsøger at skrive noget i tekstboksen (f.eks 0). Først dér skriver den \"Du har 100 bananer\". Hvordan kommer jeg omkring dette problem?
Avatar billede ploughgaard Nybegynder
05. september 2000 - 13:49 #4
Hvis jeg bruger den ovenstående kode, så viser den mig teksten uden problemer. Hvis jeg skal give yderligere hjælp, må jeg nok se koden her, eller endnu bedre have filen på ploughgaard@bigfoot.com
Avatar billede jwo Nybegynder
05. september 2000 - 14:06 #5
Hej

Filen er ganske omfattende, hvorfor jeg forsøger med at vise koden her på siden.

Jeg har brugt følgende kode:

Private Sub TextBox1_Change()
Dim txt As String

txt = \"Du har: \" & Worksheets(\"Sheet1\").Range(\"d39\") & \" bananer\"

Userform1.TextBox1.Value = txt


End Sub

Jeg har undladt at indføje Userform1.Show da Userformen kommer frem ved et specielt valg i en rullemenu baseret på følgende macro.

Sub Macro2260()
  If Sheets(\"Sheet1\").Range(\"B37\").Value = 1 Then
 
      Userform1.Show
    Range(\"A1\").Select
    Else: Range(\"A1\").Select
    End If
End Sub

Er det eventuelt her den går galt? Det fungere fint bortset fra at teksten som sagt først viser sig ved forsøg på indtastning i feltet.
Avatar billede ploughgaard Nybegynder
05. september 2000 - 14:12 #6
Du har valgt at din makro skal være Private Sub Textbox1_Change dvs. at koden først bliver udført, når værdien af textbox1 bliver ændret. Hvis du omdøber koden til Userform1Start og så i din Makro2260 ændrer følgende:

Sub Macro2260()
  If Sheets(\"Sheet1\").Range(\"B37\").Value = 1 Then
 
      Userform1.Show

til:

Sub Macro2260()
  If Sheets(\"Sheet1\").Range(\"B37\").Value = 1 Then
 
      Userform1Start

og så indsætter Userform1.show i Userform1Start så skulle den være der. Det er nemlig vigtigt at værdierne til Userformen bliver sat lige inden komandoen Userform1.Show.
Avatar billede jwo Nybegynder
05. september 2000 - 14:54 #7
Jeg har nu gjort følgende:

Private Sub Userform1Start()
Dim txt As String

txt = \"Du har: \" & Worksheets(\"Sheet1\").Range(\"d39\") & \" bananer\"

Userform1.TextBox1.Value = txt

Userform1.Show

End Sub

...og min makro hedder

Sub Macro2260()
  If Sheets(\"Sheet1\").Range(\"B37\").Value = 1 Then
 
    Userform1Start
End If
End Sub

Alligevel kommer den med en fejl: Sub or function not defined, hvilket jeg vel har gjort eller hvad?
Avatar billede ploughgaard Nybegynder
05. september 2000 - 15:00 #8
Private Sub Userform1Start skal ikke være Private. Private makroer virker kun inden for samme module og kan altså ikke ses eller køres fra andre modules selvom de er i samme workbook.
Avatar billede jwo Nybegynder
05. september 2000 - 15:20 #9
Nu har jeg blot fjernet Private således at der står
Sub Userform1Start()
Men jeg får samme fejlmeddelelse....

Sub or function not defined

og afmærker Userform1Start med blot i Macro2260()
Avatar billede jwo Nybegynder
05. september 2000 - 15:23 #10
Du havde ret jeg skulle blåt ligge koden over i samme modul så virkede det, perfekt.
Mange tak.
Avatar billede ploughgaard Nybegynder
05. september 2000 - 15:50 #11
Så skal du bare acceptere :-)
Avatar billede ploughgaard Nybegynder
05. september 2000 - 15:51 #12
Sorry, det havde du jo allerede gjort ;-)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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