Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1064to1068
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spalte per Makro nummerieren, bis...

Spalte per Makro nummerieren, bis...
05.04.2009 21:23:02
Kai
Hi,
ich habe zwar schon mal eine Anfrage gestellt, komme aber wieder nicht weiter. Ich stelle meine Frage nochmal in anderere Form:
Ich möchte meine Datensätze in der Spalte A per makro mit einem Button durchnummerieren, beginnend ab Zeile 20 und zwar soweit , bis die letzte beschriebene Zeile kommt. Dass heisst, es kann auch mal vorkommen, dass in B, C, D und E nichts steht und erst wieder in Spalte F ein Eintrag ist. Darum sollte nur nummeriert werden, wenn tatsächlich die komplette Zeile LEER ist.
Danke Kai

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Rückfrage
05.04.2009 21:48:35
Daniel
Hi
" Darum sollte nur nummeriert werden, wenn tatsächlich die komplette Zeile LEER ist."
meinst du das wirklich so? nur leere Zeilen sollen nummeriert werden?
Gruß, Daniel
Ah soory, nein...
05.04.2009 21:51:30
Kai
Tschuldige, ist schon spät,
also so ist es richtig: nur nummerieren, wenn irgendwo in der zeile Text ist, also nicht leer ist.
Gruss
Kai
AW: Ah soory, nein...
05.04.2009 22:03:46
UweD
Hallo nochmal..
mit der Ergänzung so?


Sub tt2()
    On Error GoTo Fehler
    Dim TB, i%, z%, RR&
    Set TB = ActiveSheet
    RR = TB.Cells.SpecialCells(xlCellTypeLastCell).Row 'Letzte Zeile des gesamten Blattes
    z = 1
    TB.Columns(1).ClearContents 'Spalte A leeren
    For i = 20 To RR
        If WorksheetFunction.CountA(TB.Rows(i)) > 0 Then
            TB.Range("A" & i) = z
            z = z + 1
        End If
    Next i
    Err.Clear
Fehler:
    If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
    Application.EnableEvents = True
    Application.DisplayAlerts = True
End Sub


Gruß UweD
Anzeige
Super, jetzt passts, Danke :-) owT
05.04.2009 22:10:34
Kai
Vielleicht doch noch..
05.04.2009 22:36:16
Kai
..ne Frage. Wenn ich den Code ausführe, dann werden in der Spalte A die Inhalte der Zellen 1 - 19 alle gelöscht, (Kopfdaten)
kann man das abstellen, dass es wirklich erst ab 20 losgeht ?
Danke
Kai
Ohne VBA
06.04.2009 08:49:19
HAW
Hallo Kai,
hier eine Variante ohne VBA:
Voraussetzung: in A19 befindet sich keine Zahl:
Zelle A20: =WENN(ANZAHL2(B20:IV20)>0;MAX($A$19:A19)+1;"")
und runterkopieren
Vorteil, auch wenn sich die Bedingung ändert, muss das Makro nicht neuerlich gestartet werden.
Gruß Heinz
AW: Vielleicht doch noch..
06.04.2009 09:08:27
UweD
Hallo


Sub tt2()
    On Error GoTo Fehler
    Dim TB, i%, z%, RR&
    Set TB = ActiveSheet
    RR = TB.Cells.SpecialCells(xlCellTypeLastCell).Row 'Letzte Zeile des gesamten Blattes
    z = 1
    TB.Range("A20:A" & RR).ClearContents 'Spalte A ab 20 leeren
    For i = 20 To RR
        If WorksheetFunction.CountA(TB.Rows(i)) > 0 Then
            TB.Range("A" & i) = z
            z = z + 1
        End If
    Next i
    Err.Clear
Fehler:
    If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub


Gruß UweD
Anzeige
AW: Spalte per Makro nummerieren, bis...
05.04.2009 21:56:03
UweD
Hallo
so?


Sub tt()
    On Error GoTo Fehler
    Dim TB, i%, RR&
    Set TB = ActiveSheet
    RR = TB.Cells.SpecialCells(xlCellTypeLastCell).Row 'Letzte Zeile des gesamten Blattes
    For i = 20 To RR
        TB.Range("A" & i) = i
    Next i
    Err.Clear
Fehler:
    If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
    Application.EnableEvents = True
    Application.DisplayAlerts = True
End Sub


Gruß UweD
Anzeige
AW: Spalte per Makro nummerieren, bis...
05.04.2009 22:03:21
Kai
Hallo Uwe,
im Prinzip JA, nur sollte das zählen ab der Zeile 20 mi 1 beginnen und nicht auch mit 20. Also Zeile 20 hat die 1, Zeile 21 die 2 ...
Danke
Gruss
kai
AW: Spalte per Makro nummerieren, bis...
05.04.2009 22:11:00
Daniel
Hi
probiers mal damit:

Sub Nummerieren()
Dim ze As Long, sp As Long
With ActiveSheet.UsedRange
ze = .Rows.Count + .Row - 1
sp = .Columns.Count + .Column - 1
End With
With Range(Cells(20, 1), Cells(ze, 1))
.FormulaR1C1 = "=if(countA(RC2:RC" & sp & ")=0,"""",if(isnumber(R[-1]C),R[-1]C+1,Max(R19C1: _
R[-1]C1)+1))"
.Formula = .Value
End With
End Sub


Gruß, Daniel

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige