Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
704to708
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
704to708
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
letzte Zelle in Spalte; dann weiteres Makro
06.12.2005 20:50:37
Erwin
Hallo Excelspezialisten,
in der Spalte F, die unterschiedlich viele Zeilen haben kann, stehen 8-stellige Ziffern. Ich möchte nach den letzten beiden Ziffern aufsteigend sortieren.
Mein Ansatz: Wenn es z. B. Spalte F ist, dann füge ich danach eine neue Spalte G ein und mache dann "=TEIL(F1;7;2)". Wie finde ich aber die letzte Zelle der Spalte F und wie kopiere ich immer wieder "=TEIL(F1;7;2)" bis zur letzten nicht leeren Zelle
Elegant wäre es, wenn nach Beginn des Makros die Nachfrage käme, welche Spalte sortiert werden soll, default aber F vorgegeben wäre.
Vielen Dank für die Mühe im voraus.
Erwin

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: letzte Zelle in Spalte; dann weiteres Makro
06.12.2005 21:10:32
Hajo_Zi
Hallo Erwin,
schreibe die Formel in F1, gehe an die untere rechte Ecke, ein Kreuz entsteht und Doppelklick.


AW: letzte Zelle in Spalte; dann weiteres Makro
06.12.2005 21:25:51
Erwin
Hallo Hajo,
eigentlich ganz einfach, aber das reicht mir nicht so ganz.
Ich habe das mal mit dem Recorder aufgezeichnet; soweit o.k.. Wenn ich aber mehr Zeilen habe, funktioniert das ganze nicht mehr.
Außerdem können leicht mal 20 - 30.000 Zeilen belegt sein, zum anderen sollte sofort nach der Spalte G sortiert werden und anschließend weitere Aktionen folgen.
Wenn's geht würde ich das ganze gerne mit einem Marko erledigen.
Grüße - Erwin
letzte Zelle in bestimmter Spalte ermitteln
06.12.2005 22:40:28
Erwin
Noch ein kleiner Versuch.
Täglich muss ich mir Daten vom Großrechner laden, da wäre mir mit meinem vorhin beschriebenen Anliegen sehr geholfen.
Ich denke ein Makro wäre das beste, nur ich kanns nicht schreiben. Es müsste in der Spalte F das letzte Feld erkennen und dann nach Spalte G einen Teil von F1 bis zur letzten Spalte rüberkopieren. Wie geht das?
Anzeige
AW: letzte Zelle in bestimmter Spalte ermitteln
06.12.2005 23:18:51
Reinhard
Hi Erwin,
ich habe den Gesamtthread nicht elesen, was meinst du mit:
...und dann nach Spalte G einen Teil von F1 bis zur letzten Spalte rüberkopieren....
Speziell "einen Teil" irritiert mich.
Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen
AW: letzte Zelle in bestimmter Spalte ermitteln
07.12.2005 07:07:08
Erwin
Hallo Reinhard,
Danke für die Nachfrage, aber Erich hats genau getroffen
Grüße Erwin
AW: letzte Zelle in bestimmter Spalte ermitteln
06.12.2005 23:52:25
Erich
Hallo Erwin,
tut diese Prozedur, was du möchtest?

Option Explicit
Sub SortLetzte2()
Dim strSp$, intSp%, lngLRow&, intUeb&
intUeb = 1   ' Anzahl Zeilen für Spaltenüberschrift (0 für ohne)
strSp = InputBox("Nach welcher Spalte soll sortiert werden?", _
"Sortierung nach den letzten beiden Stellen", "F")
intSp = SpNumm(strSp)
'                                      letzte Zeile der Spalte
lngLRow = Cells(Rows.Count, intSp).End(xlUp).Row
'                                      Hilfsspalte mit letzten 2 Stellen
Columns(intSp + 1).Insert
If intUeb > 0 Then _
Range(Cells(1, intSp + 1), Cells(intUeb, intSp + 1)) = "Hilf"
Range(Cells(intUeb + 1, intSp + 1), _
Cells(lngLRow, intSp + 1)).FormulaR1C1Local = "=RECHTS(ZS(-1);2)"
'                                      sortieren
Range(Rows(intUeb + 1), Rows(lngLRow)).Sort _
Key1:=Range("G3"), Order1:=xlAscending, _
Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Cells(intUeb + 1, intSp).Select
End Sub
'  Ermittlung der Spaltennummer 1...256 aus der Spaltenbezeichnung A...IV
Function SpNumm(ByVal spt$) As Integer
Dim zw1%, zw2%
If Len(spt) < 1 Or Len(spt) > 2 Then
SpNumm = CVErr(xlErrValue)
Else                                      ' 1. Zeichen
zw1 = Asc(UCase(spt)) - 64
If zw1 < 1 Or zw1 > 26 Then zw1 = 999
If Len(spt) = 2 Then                   ' 2. Zeichen, falls vorhanden
zw1 = 26 * zw1
zw2 = Asc(UCase(Right(spt, 1))) - 64
If zw2 < 1 Or zw2 > 26 Then zw2 = 999
End If
zw1 = zw1 + zw2                        ' Summe
If zw1 < 1 Or zw1 > 256 Then
SpNumm = CVErr(xlErrValue)
Else
SpNumm = zw1
End If
End If
End Function

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: letzte Zelle in bestimmter Spalte ermitteln
07.12.2005 07:08:21
Erwin
Hallo Erich,
ich kann nur sagen - perfekt - danke für die Hilfe
Erwin

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige