Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
116to120
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
116to120
116to120
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formatieren nur bis zur letzten Zeile

Formatieren nur bis zur letzten Zeile
06.05.2002 16:23:46
Finus
Ich habe ein Makro aufgezeichnet, in dem unter anderem Zeilen formatiert werden sollen.

Da die zu formatierende csv-Dateien aber immer unterschiedliche Längen (30-150 Zeilen) haben, formatiere ich momentan immer bis zur Zeile 500, was beim Ausdrucken nachher aber alles als Leerzeilen mitkommt. :-(

Gibt es einen Makrobefehl, mit dem ich meine Formatierungsbefehle (Haarlinie, Zeilenhöhe, usw.) im Makro bis zur letzten Zeile (und letzten Spalte) intelligent begrenzen kann?

Danke
Gruß Finus

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

Betreff
Datum
Anwender
Anzeige
Re: Formatieren nur bis zur letzten Zeile
06.05.2002 16:28:08
Hajo
Hallo Finus

mal ein Ansatz

109. Letzte Zeile der Spalte C (=3)
Zeile als Long Definieren
Cells(Rows.Count, 3).End(xlUp).Row
oder
[C65536].End(xlUp).Row verursacht aber fehler wenn 65536 nicht leer
Hinweis von ManuelaM
If [a65536] = "" Then
letzte = [a65536].End(xlUp).Row
Else
letzte = 65536
End If

110. Letzte Spalte der Zeile 4
Cells(4, Columns.Count).End(xlToLeft).Column
Fehler falls letzte Spalte belegt wird diese nicht erkannt
[IV4] End(xlToLeft).Column
nach Hinweis von ManuelaM geändert
If [IV4] = "" Then
letzte =[IV4].End(xlToLeft).Column
Else
letzte = 256
End If

111. Letzte Zelle in eine Tabelle
Sub Test()
Name = ActiveSheet.Cells.SpecialCells(xlLastCell).Address(False, False)
End Sub
Funktion schießt gelegentlich über Ziel hinaus nach löschen von Zeilen, Spalten vorher speichern

112. benuzter Bereich einer Tabelle
Sub Test()
Name = Sheets("Tabelle1").UsedRange.Address
End Sub
z.B. Name = ($A$1:$F$8)

113. Letzte Zelladresse mit und ohne VBA
(unabhängig von der Spalte) Zeilennummer ermitteln
Die allerletzte benutzte Zeile, unabhängig von der Spalte liefert:
MsgBox Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row

Die Koordinaten (Zelladresse) aus der letzten belegten Zeile und der letzten belegten Spalte erhältst Du mit folgender Array-Formel in A1:
{=ADRESSE(MAX((A2:AV1000<>"")*ZEILE(A2:A1000));MAX((A2:AV1000<>"")*SPALTE(A2:AV2)))}
ARRAY-Formel {=geschweifte Klammern} nicht eingeben;
Abschluß der Formel mit gleichzeitig Strg / Shift / Enter; - das erzeugt sie.
Von WF

Gruß Hajo

Anzeige
Re: Formatieren nur bis zur letzten Zeile
06.05.2002 17:01:13
Finus
Hallo Hajo,

erstmal danke für deine Tips,
bin Anfänger in VBA, und brauche noch eine kleine weitere Hilfe!

also ich habe deinen Tip-Nr.113 ausprobiert, er liefert mir 116, d.h. dass ungefiltert die letzte Zeile=116 ist, (später filtere ich, dann ist es nur noch 115!)
Also muss ich mir im ungefilterten Zustand die Zeilenzahl (116) irgendwie in einer Variablen sichern, wie geht das?
Und nachher diese Variable als Zeilenzahl im Formatierungsbefehl verwenden, wie geht das?

Hier mein strarrer Formatierungsteil aus dem Makro:
'
' dünne Rahmen (Haarlinien) einfügen #2
Selection.AutoFilter Field:=8
Range("A6:AA249").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlHairline
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlHairline
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlHairline
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.RowHeight = 21


ich denke, dass an der Stelle:
Range("A6:AA249").Select

so was ähnliches wie
Range("A6:AA.ROW.").Select

sollte, aber bestimmt nicht so,

wer kann mir da einen Tip geben?

Anzeige
Re: Formatieren nur bis zur letzten Zeile
06.05.2002 17:09:33
Hajo
Hallo Fnus

Gruß Hajo

Re: Formatieren nur bis zur letzten Zeile
06.05.2002 17:28:50
Finus
Hallo Hajo,

ES LÄUFT!!!!!
DANKE!

Gruß Finus

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige