Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1160to1164
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

Marko anpassen/ verbessern

Marko anpassen/ verbessern
Lemmi
Hallo zusammen,
leider habe ich noch wie vor einen Fehler in der Ausführungsdatei/ Makro und kann in nicht vollständig beseiteigen. (VBA Leihe).
In der Tabelle I.O. werden die Makro's aufräumen und aufräumen zurück einwandfrei ausgeführt.
Wenn nun in der Tabelle n.i.o Formatierungen oder ähnliches in den Arbeitsfelden ab Spalte F durchgeführt worden sind ist die Ausführung weiterhin nicht zufriedenstellend!
Jede Formatierung oder ähnliches, auch wenn diese gelöscht worden sind, werden erkannt und beeinflussen die Lage der letzten Spalte mit Ihnhalt!
Könnte ihr vieleicht nochmal etwas an dem Marko " richten" um diese Fehelrquellen zu beseitigen!
(alles für Excel 2007)https://www.herber.de/bbs/user/70156.xlsm
Gruß
Lemmi

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

Betreff
Benutzer
Anzeige
AW: Marko anpassen/ verbessern
19.06.2010 19:29:01
Hajo_Zi
Hallo Lemmi,
speichere die Datei bevor Du die letzte Zelle feststellst.

AW: Marko anpassen/ verbessern
19.06.2010 19:29:03
Hajo_Zi
Hallo Lemmi,
speichere die Datei bevor Du die letzte Zelle feststellst.

AW: Marko anpassen/ verbessern
19.06.2010 20:02:45
Lemmi
Hallo Hajo,
ja speichern funktioniert!
...weil ich im Vorfeld leider immer wieder neue Spalteninhalte absetze und mit dem Marko aufräumen bearbeitet, ist es teilweise schwer immer daran zu denken alle Spalten zu bereinigen und dann noch zu vor abzuspeichen!
...ist ihrgend wie nicht so Betrieb's sicher!
Kann das Problen nicht umganngen werden in dem "Mann" das Marko einfach anders ausführt und damit dem Problem aus dem Wege geht!
Gruß
Lemmi
Anzeige
AW: Marko anpassen/ verbessern
20.06.2010 10:21:24
fcs
Hallo Lemmi,
dann muss man die letzte mit Daten/Formeln belegte Zeile bzw. Spalte etwas aufwendiger ermitteln.
Außerdem sollten natürlich die Startzeilen in den Makros aufraeumen und aufraeumen_rueckwarts identisch sein.
Gruß
Franz
Sub aufraeumen()
Dim ZeileMax As Long, SpalteMax As Long
Dim Zeile As Long, Spalte As Long
'Zeile der letzten benutzten Zelle
ZeileMax = fncZeileLetzte(wks:=ActiveSheet)
'Spalte der letzten benutzten Zelle
SpalteMax = fncSpalteLetzte(wks:=ActiveSheet, ZeileStart:=6)
For Zeile = 6 To ZeileMax
For Spalte = SpalteMax - 1 To 1 Step -1
If Cells(Zeile, SpalteMax)  "" Then Exit For
If Cells(Zeile, Spalte)  "" Then
Cells(Zeile, SpalteMax) = Cells(Zeile, Spalte)
Cells(Zeile, Spalte).ClearContents
Exit For
End If
Next
Next
End Sub
Sub aufraeumen_rueckwaerts()
Dim ZeileMax As Long, SpalteMax As Long
Dim Spalte As Long, Zelle As Range
'Zeile der letzten benutzten Zelle
ZeileMax = fncZeileLetzte(wks:=ActiveSheet)
'Spalte der letzten benutzten Zelle
SpalteMax = fncSpalteLetzte(wks:=ActiveSheet, ZeileStart:=6)
For Zeile = 6 To ZeileMax
If IsEmpty(Cells(Zeile, SpalteMax - 1)) Then
Set Zelle = Cells(Zeile, SpalteMax).End(xlToLeft)
If Zelle.Column >= 3 Then
Zelle.Offset(0, 1).Value = Cells(Zeile, SpalteMax).Value
Else
Cells(Zeile, 3).Value = Cells(Zeile, SpalteMax).Value
End If
Cells(Zeile, SpalteMax).ClearContents
End If
Next
End Sub
Function fncZeileLetzte(wks As Worksheet, Optional SpalteStart As Long = 1) As Long
'Ermittelt letzte Zeile mit Daten (Werte/Formeln)
'Bei leerem Blatt wird Wert 0 zurückgegeben!!
Dim Spalte As Long, Zeile As Long
With wks
For Spalte = .Cells.SpecialCells(xlCellTypeLastCell).Column To SpalteStart Step -1
If IsEmpty(.Cells(.Rows.Count, Spalte)) Then
Zeile = .Cells(.Rows.Count, Spalte).End(xlUp).Row
If Zeile > 1 Then
fncZeileLetzte = Application.WorksheetFunction.Max(Zeile, fncZeileLetzte)
Else
If Not IsEmpty(.Cells(1, Spalte)) Then
fncZeileLetzte = Application.WorksheetFunction.Max(Zeile, fncZeileLetzte)
End If
End If
Else
fncZeileLetzte = .Rows.Count
Exit For
End If
Next Spalte
End With
End Function
Function fncSpalteLetzte(wks As Worksheet, Optional ZeileStart As Long = 1) As Long
'Ermittelt letzte Spalte mit Daten (Werte/Formeln)
'Bei leerem Blatt wird Wert 0 zurückgegeben!!
Dim Spalte As Long, Zeile As Long
With wks
For Spalte = .Cells.SpecialCells(xlCellTypeLastCell).Column To 1 Step -1
If IsEmpty(.Cells(.Rows.Count, Spalte)) Then
Zeile = .Cells(.Rows.Count, Spalte).End(xlUp).Row
If Zeile >= ZeileStart And Zeile > 1 Then
fncSpalteLetzte = Spalte
Exit For
ElseIf ZeileStart = 1 And Zeile = 1 Then
If Not IsEmpty(.Cells(1, Spalte)) Then
fncSpalteLetzte = Spalte
Exit For
End If
End If
Else
fncSpalteLetzte = Spalte
Exit For
End If
Next Spalte
End With
End Function

Anzeige
AW: Marko anpassen/ verbessern
20.06.2010 21:21:03
Lemmi
Hallo Franz,
funktioniert ! Danke Danke!
Eine Frage bleibt für mich als VBA Leihe noch offen!
Das Marko aufräumen nimmt alle Inhalte ab A6 mit (..also ab Spalte A) wie muss das Marko angepasst werden wenn wie ursprünglich gefragt erst ab C6 diese zurückstellung benötige?
Wie muss das Marko
Sub aufraeumen()
Dim ZeileMax As Long, SpalteMax As Long
Dim Zeile As Long, Spalte As Long
'Zeile der letzten benutzten Zelle
ZeileMax = fncZeileLetzte(wks:=ActiveSheet)
'Spalte der letzten benutzten Zelle
SpalteMax = fncSpalteLetzte(wks:=ActiveSheet, ZeileStart:=6)
For Zeile = 6 To ZeileMax
For Spalte = SpalteMax - 1 To 1 Step -1
If Cells(Zeile, SpalteMax)  "" Then Exit For
If Cells(Zeile, Spalte)  "" Then
Cells(Zeile, SpalteMax) = Cells(Zeile, Spalte)
Cells(Zeile, Spalte).ClearContents
Exit For
End If
Next
Next
End Sub

angepasst werden? ... Erscheint erst einmal nicht logisch... liegt aber an meinen Inhalten die es noch um die Tabelle drumherum gibt!
Gruß
Lemmi
Anzeige
AW: Marko anpassen/ verbessern
21.06.2010 09:49:26
fcs
Hallo Lemmi,
das Makro hat doch schon mal mit Spalte 3 funktioniert!
Da hast irgendwie rumgedoktort.
In der Zeile
        For Spalte = SpalteMax - 1 To 1 Step -1
muss du den Wert für To von 1 in 3 ändern, dann sollte es funktionieren.
Gruß
Franz
AW: Marko anpassen/ verbessern
21.06.2010 18:06:59
Lemmi
Hallo Franz,
allerbessten Dank!
Gruß
Lemmi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige