Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
904to908
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
904to908
904to908
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Letzte eingefügte Zeile immer oben

Letzte eingefügte Zeile immer oben
07.09.2007 17:49:00
chris58
Hallo !
Ich habe ein kleines Problem, das sicher hier einige mit links lösen können. Wenn in der Gesamtdatei eine Änderung erfolgt, dann wird in dem Tabellenblatt die Änderung mittels einer gesamten Zeile angezeigt. Der u.a. Code ist im Tabellenblatt. Nun zu meiner Frage: Kann man die letzte Eintragung (Zeile) immer oben angezeigt bekommen ?
Danke für Eure Antworten
chris

Private Sub Worksheet_Activate()
Dim Passw As String
Passw = InputBox("Geben Sie Ihr Passwort ein")
If Passw = "TEST" Then 'Pw anpassen
MsgBox ("Hallo " & Passw)
ActiveSheet.Unprotect Password:="TEST"
Else
MsgBox ("Sie " & Passw & " haben keine Berechtigung um hier Änderungen zu machen")
ActiveSheet.Protect Password:="TEST"
End If
End Sub


12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzte eingefügte Zeile immer oben
07.09.2007 18:01:30
Gerd
Hallo Chris,
hast den falschen Code reingestellt ?
Gruß Gerd

AW: Letzte eingefügte Zeile immer oben
07.09.2007 18:40:05
chris58
Hallo !
Nein, dieser Code ist im Tabellenblatt. Da manche Codes immer divergieren, habe ich diesen Code hier reingestellt. Welchen würde ich zusätzlich brauchen um die Eintragung in die oberste zeile zu bringen ?
Danke
chris

AW: Letzte eingefügte Zeile immer oben
07.09.2007 18:56:00
Daniel
Hi
also ich kann jetzt auch keinen Zusammenhang zwischen deiner Frage und dem geposteten Code erkennen.
interssant wäre doch der Code, mit dem die Zeile bei der Änderung erzeugt wird.
wenn man sowas macht, geht das am besten so, daß man mit
rows(1).insert
eine neue leere Zeile an der obersten Stelle einfügt und dort dann die Informationen reinschreibt.
(also immer in Zeile 1)
damit ist die neuste Information immer an der obersten Stelle und die Liste ist nach aktualität absteigend sortiert.
Gruß, Daniel

Anzeige
AW: Letzte eingefügte Zeile immer oben
07.09.2007 21:09:00
chris58
Hallo !
Kann das der Code sein ?
chris58

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim lngZeile As Long
Application.EnableEvents = False
With Worksheets("Benutzer")
lngZeile = .Range("A65536").End(xlUp).Row + 1
.Cells(lngZeile, 1).Value = Environ("UserName") 'Benutzer
.Cells(lngZeile, 2).Value = Date 'Datum
.Cells(lngZeile, 3).Value = Time 'Zeit
.Cells(lngZeile, 4).Value = Sh.Name 'Blattname, auf dem geändert wurde
.Cells(lngZeile, 5).Value = Target.Address 'Zelle der Änderung
.Cells(lngZeile, 6).Value = Target.Value 'neuer Eintrag
.Cells(lngZeile, 7) = oldValue 'vorheriger Wert
End With
Application.EnableEvents = True
End Sub


Anzeige
AW: Letzte eingefügte Zeile immer oben
07.09.2007 21:28:00
Gerd
Hallo Chris,
eventuell muss noch die Ermittlung von oldValue in der entsprechenden Prozedur angepasst werden.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim lngZeile As Long
Application.EnableEvents = False
With Worksheets("Benutzer")
.Rows(1).Insert
.Cells(1, 1).Value = Environ("UserName") 'Benutzer
.Cells(1, 2).Value = Date 'Datum
.Cells(1, 3).Value = Time 'Zeit
.Cells(1, 4).Value = Sh.Name 'Blattname, auf dem geändert wurde
.Cells(1, 5).Value = Target.Address 'Zelle der Änderung
.Cells(1, 6).Value = Target.Value 'neuer Eintrag
.Cells(1, 7) = oldValue 'vorheriger Wert
End With
Application.EnableEvents = True
End Sub


Gruß Gerd

Anzeige
AW: Letzte eingefügte Zeile immer oben
07.09.2007 21:34:05
chris58
Das funktioniert ....... nur habe ich in der ersten Zeile die Überschriften stehen. Mit dem Code verschiebt sich die Überschrift nun immer nach unten. Kann man das so machen. das die Überschriften in der ersten Zeile erhalten bleiben.
Danke nochmal
chris

AW: Letzte eingefügte Zeile immer oben
07.09.2007 21:40:00
Gerd
Hi Chris,
dann so:
.Rows(2).Insert
.Cells(2, 1).Value = Environ("UserName") 'Benutzer
.Cells(2, 2).Value = Date 'Datum
.Cells(2, 3).Value = ......
etc.
Gruß Gerd

AW: Letzte eingefügte Zeile immer oben
07.09.2007 21:54:00
chris58
Danke, das geht nun einwandfrei
chris58

AW: Letzte eingefügte Zeile immer oben
08.09.2007 10:44:00
chris
Hallo !
ich habe gerade festgestellt, das, wenn ich was ändere das zwar in die 2te Zeile geschrieben wird, jedoch meine Überschriften in der ersten zeile weg sind und die zweite Zeile so formartiert sind, wie die erste zeile war, jedoch die erste Zeile fehlt und es kann nichts mehr hineingeschrieben werden, denn dann speichert der Code das wieder in die zweite Zeile>>>> als Änderung sozusagen.
Kann man das irgendwie umgehen ? Hoffe ich habe mich verständlich ausgedrückt ......
Danke im voraus
chris

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim lngZeile As Long
Application.EnableEvents = False
With Worksheets("Benutzer")
.Rows(1).Insert
.Cells(2, 1).Value = Environ("UserName") 'Benutzer
.Cells(2, 2).Value = Date 'Datum
.Cells(2, 3).Value = Time 'Zeit
.Cells(2, 4).Value = Sh.Name 'Blattname, auf dem geändert wurde
.Cells(2, 5).Value = Target.Address 'Zelle der Änderung
.Cells(2, 6).Value = Target.Value 'neuer Eintrag
.Cells(2, 7) = oldValue 'vorheriger Wert
End With
Application.EnableEvents = True
End Sub


Anzeige
AW: Letzte eingefügte Zeile immer oben
08.09.2007 10:44:35
chris
Danke, das klappt
chris

AW: Letzte eingefügte Zeile immer oben
08.09.2007 11:11:32
chris
Hallo, das klappt noch nicht, es war der falsche Tread

AW: Letzte eingefügte Zeile immer oben
08.09.2007 12:06:49
Daniel
Hi Chris
besser als Hilfe ist Hilfe zur Selbsthilfe, daher hier folgender Hinweis:
wenn du in Excel XP eine Zeile einfügst, erscheint normalerweise auf bei der ersten eingefügten Zelle ein kleines Quadrat. Wenn du da draufklickst, kannst du auswählen, ob die Formatierung der oberen oder unteren Zelle übernommen werden soll.
Mach das mal, aber zeichne diese aktion mit dem Makrorekorder auf.
Dann siehst du, wie du dein Problem lösen kannst.
wenn du dieses Quadrat beim Einfügen nicht erscheint, musst du unter
EXTRAS - OPTIONEN - BEARBEITEN das Häkchen bei "Optionen - Schaltfläche beim Einfügen von Zellen und Objekten" setzen. (Hinweis noch für alle Mitleser: das gibts erst ab Excel XP)
Gruß, Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige