Avatar billede maagefinke Nybegynder
09. november 2001 - 21:03 Der er 21 kommentarer og
1 løsning

skift mellem userforme

Hvordan åbner jeg form2 fra form1 og kommer tilbage til form1 igen - oplysningerne i de aktive celler i formene må ikke gå tabt mellem skiftene?
Jeg har forsøgt følgende fra form1:
form2. show 1
form1.hide
--
fra form2
form2.hide
form1.show
Det giver fejlmeddelelser.
Avatar billede maagefinke Nybegynder
09. november 2001 - 21:03 #1
Hov, det er i Excel2000
Avatar billede frn Nybegynder
09. november 2001 - 21:13 #2
prøv:

Sheets(\"form1\").Select
Sheets(\"form2\").Hide
Avatar billede frn Nybegynder
09. november 2001 - 21:15 #3
eller måske

Sheets(\"form1\").Show
Sheets(\"form1\").Select
Sheets(\"form2\").Hide
Avatar billede frn Nybegynder
09. november 2001 - 21:22 #4
Undskyld jeg har lige fundet koden.

Sub form1()
\'
\' Macro2 Macro
\' Macro recorded 09-11-2001 by Frank Nielsen
\'

\'
    Sheets(\"form2\").Visible = False
    Sheets(\"form1\").Visible = True
    Sheets(\"form1\").Select
End Sub

Sub form2()
\'
\' Macro2 Macro
\' Macro recorded 09-11-2001 by Frank Nielsen
\'

\'
    Sheets(\"form1\").Visible = False
    Sheets(\"form2\").Visible = True
    Sheets(\"form2\").Select
End Sub
Avatar billede frn Nybegynder
09. november 2001 - 21:24 #5
Et godt forslag til at lave koder er at gøre som jeg gjorde da jeg fandt dette for dig...

find ud af hvordan du gør det du vil via menuknapperner..
lær den rækkefølge du vil kunne det i.

tryk på

Tool >> Macro >> record new macro
Lav et navn du kan huske
tryk ALT+F11 og aflæs koden der hvor den nu ligger.

normalt ligger den under modules1
Avatar billede maagefinke Nybegynder
09. november 2001 - 21:30 #6
Tak, frn - jeg glemte åbenbart at tydeliggøre, at
jeg er i VBA.
Avatar billede frn Nybegynder
09. november 2001 - 21:39 #7
Så vidt jeg ved laver man macro til excel i visual basic

hvis du trykker ALT+F11 er det Microsoft Visual Basic editor der åbner.

men hvis du ikke laver macroen i Excel skal du bare sørge for at koden for excel er foran.
Avatar billede maagefinke Nybegynder
09. november 2001 - 22:04 #8
Sandt nok, frn, men når jeg forsøger med dine
forslag får jeg besked på, at ... \"not supported in VB.\"
Hvis det er noget med \"bare\", så vis
mig venligst konkret, hvordan.
Avatar billede maagefinke Nybegynder
09. november 2001 - 22:21 #9
Jeg har også fra form1 forsøgt:
frmform2.show 1
frmform1.hide
og fra form2
frmform1.show
frmform2.hide
--med meddelelse om, at frmform1 allerede er vist,
hvilket må betyde, at frmform1.hide ikke havde
nogen effekt, eller hva\'
Avatar billede maagefinke Nybegynder
09. november 2001 - 22:33 #10
fra frmform1 virker dette
frmform2.show 1
og fra frmform2 virker dette
frmform2.hide
--
men hvis formene nu ikke er lige store, vil jeg
gerne have gemt eller skjult den form, som ikke
er aktiv lige nu.
09. november 2001 - 22:59 #11
maagefinke>> har du gang i en sætning som f.eks. Application.ScreenUpdating = False ???? så skulle du måske sætte den til True inden du laver nummeret - en klassiker :-)
Avatar billede maagefinke Nybegynder
09. november 2001 - 23:06 #12
flemmingdahl >det har jeg ikke. Det er helt banalt. Jeg vil bare gerne have at form1 ikke
vises, når jeg har lukket form2 op.
09. november 2001 - 23:10 #13
Her har jeg lavet en knap CommandButton1 på UserForm1, som jeg klikker på, for at lave nummeret i Word2000

Private Sub CommandButton1_Click()
    Me.Hide
    UserForm2.Show
End Sub
09. november 2001 - 23:12 #14
hvis jeg kikker på de sidste kodestumper, som du har vist, så er det sådan set rigtigt nok, du skal blot Hide før du Show\'er :-) ellers er den \"anden\" userform allerede aktiv, og så sker der ingen Hide før du vender tilbage fra Userform2  - forstår du ?
Avatar billede maagefinke Nybegynder
09. november 2001 - 23:13 #15
Og samtidig ønsker jeg, at de oplysninger, der allerede er indtastet i form1 ikke mistes, fordi
jeg skifter form. Det skal altså være muligt, at
gå fra form til form - og måske ikke bare fra form1 til form2 men også til andre forme, indtil jeg har gemt de data, som jeg har indtastet.

09. november 2001 - 23:18 #16
Sålænge du kun bruger HIDE og ikke END, så mister du ikke dine data.
Avatar billede frn Nybegynder
09. november 2001 - 23:20 #17
OK her er det for at åbne excel det ved du vel allerede samt select og hide et sheet

--------------

Set xlApp = CreateObject (\"Excel.Application\") 

     
        xlApp.Visible = True
        xlApp.Workbooks.Open \"d:\\test\\test.xls\"

    xlApp.sheets(\"form1\").select
    xlApp.sheets(\"form2\").Visible = false

-----------
Avatar billede maagefinke Nybegynder
09. november 2001 - 23:21 #18
flemmingdahl>Jeg havde ihvertfald ret i, at det helt banalt. Det virker. Tak, også for det sidste råd.
09. november 2001 - 23:22 #19
Altid en fornøjelse :-)
Avatar billede maagefinke Nybegynder
09. november 2001 - 23:28 #20
>undskyld frn, jeg havde ikke fået opdateret siden inden jeg sendte svaret. Det er sikkert rigtigt, hvad du siger, men det passer ikke rigtigt ind i det, som jeg ellers roder med i dette vba-ark, så vidt jeg kan skønne. Det gør flemmningdahl\'s svar derimod. Men tak for din indsats!
Avatar billede frn Nybegynder
09. november 2001 - 23:34 #21
Det er helt ok... jeg er lidt russten i min kode finding... så den fik jeg da lige skærpet lidt :-)
09. november 2001 - 23:36 #22
That\'s the spirit frn :-)
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