Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1368to1372
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

Umgekehrt sortieren mit VBA

Umgekehrt sortieren mit VBA
08.07.2014 07:00:31
Chris
Hallo zusammen,
Ich habe mir ein Makro gebastelte, dass mir die Werte aus Tabelle1 Range A1 in Tabelle2 (A1) untereinander schreibt. Zusätzlich wird neben jedem Wert das Datum und die jeweilige Uhrzeit eingefügt.
1) Wie muss das Makro geändert werden, damit der zuletzt eingegebene Wert oben steht und nicht - wie aktuell - unten angefügt wird. Alle Werte sollen also immer eine Zelle weiter nach unten rutschen...(alle alten Werte)
2) Der zweite Teil des Makro bewirkt, dass die Werte von Zelle A1 nach jeder Eingabe und nach Betätigung durch ENTER gelöscht werden und A1 aktiviert wird. Das soll nur für das Sheet Tabelle1 A1 gelten. In diesem Makro gilt dies komischerweise für alle A1-Zellen in jedem Sheet, obwohl mit With eigentlich auf Tabelle1 beschränkt.
Schon mal danke,
KopierMakro:
Sub Sort()
Dim i As Range
Range("A1").Copy Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) 'ID-Kopieren
With Sheets("Tabelle2")
.Cells(Rows.Count, 1).End(xlUp).Offset(0, 1).Value = Format(Now, "DD.MM.YYYY") 'Neben kopierter ID Datum einfügen
.Cells(Rows.Count, 1).End(xlUp).Offset(0, 2).Value = Format(Now, "HH:MM:SS") ' Neben kopierter ID' Uhrzeit einfügen
End With
Range("A1").ClearContents
Range("A1").Activate
End Sub ---
Im Sheet 1 steht:
Private Sub Worksheet_Activate()
With Sheets("Tabelle1")
.Application.OnKey "{Return}", "Modul1.sort"
End With
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Umgekehrt sortieren mit VBA
08.07.2014 08:33:15
Daniel
Hi
Die gewünschte Reihenfolge bekommst du, wenn du zuerst mit
Sheets("Tabelle2").rows(2).Insert

In Tabelle2 in Zeile 2 eine leere Zeile einfügst und dann die Daten in diese Zeile einfügt.
Den Code zum kopieren des Wertes würde ich im Change-Event von Tabelle2 ausführen lassen und dort mit
If not Intersect(Range("A1"), Target) is Nothing Then

Prüfen, ob die Zelle A1 geändert wurde.
Gruß Daniel

AW: Umgekehrt sortieren mit VBA
08.07.2014 08:46:16
Chris
Hi Daniel,
danke für deinen Vorschlag. Ich stehe leider ein wenig auf dem Schlauch, da ich die Fehlermeldung 1004 erhalte - Ausgefüllte Zellen können nicht über das Arbeitsblatt hinaus verschoben werden....
Kannst du deinen Code in mein Makro einbauen?
Gruß
Chris

Anzeige
AW: Umgekehrt sortieren mit VBA
08.07.2014 09:00:44
Daniel
Hi
Wie du aus der Fehlermeldung ableiten kannst, ist dein Blatt bis zur letzten Zeile gefüllt, ich vermute mal, mit irgend einer Formatierung.
Löschen mal die Formate sowie alle Zeilen unterhalb des benutzten Bereichs, füge dann die Formate nur für den benutzten Bereich neu ein, dann sollte es funktionieren, zudem sollte deine Datei weniger Speicherplatz benötigen.
Ansonsten kannst du auch die Werte weiterhin unterhalb einfügen und dann mit der Sortierfunktion nach Datum und Uhrzeit absteigend sortieren.
Wie das als Makro funktioniert, kannst du mit Hilfe des Recorders herausfinden.
Gruß Daniel

Anzeige
AW: Umgekehrt sortieren mit VBA
08.07.2014 10:24:45
Chris
Alles klar, danke - läuft jetzt

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige