05. februar 2006 - 11:35Der er
8 kommentarer og 1 løsning
rækker og kolonner mm.
hejsa udgangspunkt: et regneark af varierende størrelse, således at antal rækker og kolonner ikke er kendt (der fyldes hele tiden nye rækker på). jeg har derfor brug for, at kunne finde antal rækker og antal kolonner og derefter afmærke området. Der er imidlertid den finesse, at jeg har brug for at kende antal rækker fra f.eks. celle B4 og fremefter - uanset at der er data i b1 - b3. Ideen er at rækkerne fra b4 og fremefter efter afmærkningen skal sorteres. Hvordan kan det lade sig gøre?
Ja det er excel jeg anvender. Jeg havde overset muligheden i at anvende Cell. Var fokuseret på at anvende et range af typen b4:x20. hvor x er sidste celle. Kan du give en løsning på, hvordan jeg finder sidste celle ikke som et numerisk koordinat, men som f.eks. X20 altså bogstav og tal.
Dit første forslag til afmærkning giver et lidt pudsigt problem. Når jeg har tilføjet f.eks. 2 linier til et regneark, og efterfølgende sletter dem, så tages de pågældende celler med, når følgende linie eksekveres: Selection.SpecialCells(xlCellTypeLastCell).Select. Kan du gennemskue det? Proceduren i forenkelt for er gengivet.
Private Sub Gem_Click() ' her skal sorteringsrutinen placeres.
Dim icol As Integer Dim irow As Integer Dim txtregnr, txtflådenr, lstrailertyp As String
Dim icol As Integer Dim irow As Integer Dim txtregnr, txtflådenr As String
’ blot for at variablerne har et indhold – normalt får de indhold via brugerinput txtregnr = "X4000" txtpakkenr = "A200"
Worksheets("ark2").Activate Range("b4").Select If Range("B4").Value = "" Then Range("b4").Activate Else Selection.SpecialCells(xlCellTypeLastCell).Select Range(Cells(4, 2), Cells(ActiveCell.Row, ActiveCell.Column)).Select
ActiveCell.Offset(Selection.Rows.Count, -1).Activate Rows(ActiveCell.Row).Insert Shift:=xlDown End If With ActiveCell .Value = txtregnr .Offset(0, 1).Value = lstpakkenr End With
du fik den forkerte procedure den korrekte følger her: den er taget ud af en større helhed.
Private Sub test()
Dim txtregnr, txtflådenr As String
’ blot for at variablerne har et indhold – normalt får de indhold via brugerinput txtregnr = "X4000" txtpakkenr = "A200"
Worksheets("ark2").Activate Range("b4").Select If Range("B4").Value = "" Then Range("b4").Activate Else Selection.SpecialCells(xlCellTypeLastCell).Select Range(Cells(4, 2), Cells(ActiveCell.Row, ActiveCell.Column)).Select
ActiveCell.Offset(Selection.Rows.Count, -1).Activate Rows(ActiveCell.Row).Insert Shift:=xlDown End If With ActiveCell .Value = txtregnr .Offset(0, 1).Value = lstpakkenr End With
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.