Avatar billede gider_ikke_mere Nybegynder
26. august 2005 - 14:42 Der er 7 kommentarer og
1 løsning

ActiveCell.SpecialCells(xlLastCell).Select

Hvorfor springer denne funktion i mange tilfælde meget længere ned i arket end sidste skrevne celle.

Selvom jeg så sletter alle rækker og kolonner mellem min sidste skrevne celle og den fundne xlLastCell, springer den igen til samme celle!

Findes der en anden funktion til at finde sidste skrevne celle?
Avatar billede sjap Praktikant
26. august 2005 - 15:10 #1
Kan skyldes at programmet kan "huske" hvilken celle, der er den sidste, der har været i brug siden arket blev åbnet sidst. Hvis arket lukkes og åbnes virker det sikkert igen?
Avatar billede sjap Praktikant
26. august 2005 - 15:13 #2
En alternativ muligehd for at markere den sidst udfyldte celle i kolonne A er

Range("A65536").End(xlUp).Select
Avatar billede tobler Nybegynder
26. august 2005 - 16:18 #3
Jeg smider denne kode tilsidst, når jeg har fjernet data med en macro.
ActiveSheet.UsedRange
Avatar billede gider_ikke_mere Nybegynder
02. september 2005 - 08:58 #4
Sorry jeg har været fraværende. Ingen af forslagene virker. Range("A65536").End(xlUp).Select vælger ikke den nederste celle men ca. 20 celler højere op. ActiveSheet.UsedRange har ingen effekt!
Avatar billede sjap Praktikant
02. september 2005 - 20:09 #5
Range("A65536").End(xlUp).Select

skulle finde den nederste celle - dvs. den sidste celle, hvor der står noget i. Men den kigger jo kun kolonne A. Hvis du vil kigge i en anden kolonne, må du ændre A'et til det korrekte bogstav.
Avatar billede gider_ikke_mere Nybegynder
10. september 2005 - 01:07 #6
Da det er vidt forskelligt hvor mange kolonner der er i mit ark, kan jeg ikke bruge Range("A65536").End(xlUp).Select
Det er tit jeg skal bruge funktionen, og arket er meget stort og tungt. Jeg bruger indtil videre ActiveCell.SpecialCells(xlLastCell).Select og lægger det hele ind i et Array for at løbe dette igennem. Det virker ikke så tungt!
Avatar billede gider_ikke_mere Nybegynder
10. september 2005 - 01:28 #7
Lukker!
Avatar billede sjap Praktikant
10. september 2005 - 10:28 #8
Det kunne du jo bare sige - så kan vi jo forsøge at komme med forslag til det ;0) Jeg havde bare fornemmelsen af at det blot drejede sig ome en enkelt kolonne (ved ikke hvorfor, men det er også ligegyldigt).

Men her er så nogen forslag til at finde den sidste celle:

Find den sidste række:

Sub FindLastRow()
Dim LastRow As Long
    If WorksheetFunction.CountA(Cells) > 0 Then
        'Search for any entry, by searching backwards by Rows.
        LastRow = Cells.Find(What:="*", After:=[A1], _
              SearchOrder:=xlByRows, _
              SearchDirection:=xlPrevious).Row
              MsgBox LastRow
    End If
End Sub


Find den sidste kolonne:

Sub FindLastColumn()
Dim LastColumn As Integer
    If WorksheetFunction.CountA(Cells) > 0 Then
        'Search for any entry, by searching backwards by Columns.
        LastColumn = Cells.Find(What:="*", After:=[A1], _
                          SearchOrder:=xlByColumns, _
                      SearchDirection:=xlPrevious).Column
                  MsgBox LastColumn
    End If
End Sub


Find den sidste celle:

Sub FindLastCell()
Dim LastColumn As Integer
Dim LastRow As Long
Dim LastCell As Range
    If WorksheetFunction.CountA(Cells) > 0 Then
        'Search for any entry, by searching backwards by Rows.
        LastRow = Cells.Find(What:="*", After:=[A1], _
                    SearchOrder:=xlByRows, _
                    SearchDirection:=xlPrevious).Row
        'Search for any entry, by searching backwards by Columns.
                LastColumn = Cells.Find(What:="*", After:=[A1], _
                    SearchOrder:=xlByColumns, _
                    SearchDirection:=xlPrevious).Column
                MsgBox Cells(LastRow, LastColumn).Address
    End If
End Sub

Alle ovennævnte eksempler er fundet på http://www.ozgrid.com/VBA/ExcelRanges.htm
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