Avatar billede tt2002 Nybegynder
21. april 2006 - 21:07 Der er 13 kommentarer og
1 løsning

Åbne .xls-fil. Vise siden fra toppen

Jeg har en makro der åbner en .xls-fil, ændrer et par ting, gemmer filen og lukker makroen, sådan at man kan forsætte med at arbejde med filen.

Jeg har imidlertidig det problem, at filen ikke ender med at vises fra toppen (der er scrollet en halv sides penge ned). Dette sker højst sandsynligt fordi makroen ændrer i celler nederst på siden, men da den efterfølgende ændrer celler øverst, kan jeg ikke forstå, at siden ender med at blive vist scrollet ned.

Er der en kommando (eller en anden måde) der kan sikre, at filen altid vises øverst fra siden?

Jeg håber jeg er klar nok.
Avatar billede kabbak Professor
21. april 2006 - 21:33 #1
slut af med at aktivere den øverste celle, inden du gemmer filen igen, så skulle det være i orden
Avatar billede tt2002 Nybegynder
21. april 2006 - 21:39 #2
det gør jeg allerede...

jeg går ud fra at du mener:
Range("A1").Select
Avatar billede kabbak Professor
21. april 2006 - 23:08 #3
Ja det var det jeg mente
Avatar billede tt2002 Nybegynder
21. april 2006 - 23:14 #4
det virker desværre ikke...

cellen vælges naturligvis, men der er stadig scrollet ned...
cellen er valgt udenfor det viste område...
Avatar billede kabbak Professor
21. april 2006 - 23:17 #5
må jeg se den sidste del af koden, der hvor du vælger øverste celle og derefter gemmer
Avatar billede tt2002 Nybegynder
21. april 2006 - 23:24 #6
...

        Range("A1").Select
   
    ActiveWorkbook.SaveAs Filename:="test.xls", FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False

ActiveWindow.WindowState = xlMaximized


Unload formny
*    Windows("start.xls").Activate
*    ActiveWindow.Close

Du to stjerne-linier lukker den fil, hvor makroen (og formen, formny) ligger.
Avatar billede kabbak Professor
21. april 2006 - 23:34 #7
jeg har prøvet at Aktivere A500 og skrive i den, derefter har jeg prøvet at bruge.

Range("A1").Activate
og
Range("A1").Select

begge virkede fint.
Avatar billede kabbak Professor
21. april 2006 - 23:42 #8
Men via makro, kan man godt rette i celler uden at de kommer i det synlige område, så jeg forstår ikke hvorfor den er skrollet ned.

denne sætning får ikke arket til at scrolle
  Range("A200") =  Range("A200") + 10

Men denne gør

Range("A200").select
ActiveCell = ActiveCell + 10
Avatar billede excelent Ekspert
22. april 2006 - 10:15 #9
Denne scroller windue så active celle blir øverste venstre hjørne (ved opstart)

Private Sub workbook_open()
[a1].Activate
ActiveCell.Select
With ActiveWindow
.ScrollColumn = ActiveCell.Column
.ScrollRow = ActiveCell.Row
End With
End Sub

mon så ikke brødteksten placeret sidst i din kode løser problemet,
altså koden uden første og sidste linie.
Avatar billede tt2002 Nybegynder
22. april 2006 - 11:26 #10
excelent...
det er perfekt... smider du et svar?

-

kabbak...
tak for input
Avatar billede excelent Ekspert
22. april 2006 - 11:46 #11
ok velbekom
Avatar billede bak Forsker
22. april 2006 - 11:53 #12
det kan gøres lidt enklere

Application.Goto Range("A1"), True
Avatar billede excelent Ekspert
26. april 2006 - 13:12 #13
tjaa så er det vist din tur tt2002 :-)
Avatar billede tt2002 Nybegynder
26. april 2006 - 19:45 #14
undskyld... jeg havde glemt den
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
Kurser inden for grundlæggende programmering

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