Discussion:
Frage zu xlUp
(zu alt für eine Antwort)
René Schmidt
2004-05-23 09:59:13 UTC
Permalink
Hallo NG

Mit folgendem Befehl wird letzter Wert in "A" bis "G1" Markiert
Range("G1", Range("a5000").End(xlUp)).Select
Der letzte Wert wird aber nur in A ermittelt.

Ich möchte aber den letzten Wert in A oder B oder C.. ermitteln um dann den
Bereich A bis G zu markieren und anschließend zu drucken.

Vielen Dank für Hilfe
René Schmidt
Nepumuk
2004-05-23 11:11:06 UTC
Permalink
Hallo René,
das geht ganz einfach so:

Public Sub letzte_Zeile()
Dim intSpalte As Integer, lngletzteZeile As Long
For intSpalte = 1 To 7
If Cells(65536, intSpalte).End(xlUp).Row >
lngletzteZeile Then lngletzteZeile = Cells(65536,
intSpalte).End(xlUp).Row
Next
MsgBox "Letzte Zeile= " & CStr(lngletzteZeile),
64, "Information"
End Sub

Gruß
Nepumuk
René Schmidt
2004-05-23 12:38:33 UTC
Permalink
Hallo Nepumuk
Danke, das Funktioniert.
Aber wie kann ich - ausgehend von der ermittelten Zeile - den Bereich bis in
die Zeile A1:G1 markieren(Selektieren)

Wenn z.B. die Zeile 15 als letzte Zeile mit Wert ermittelt wurde möchte ich
den Bereich A15:G1 markieren.

Danke für Hilfe
René


"Nepumuk" <***@t-online.de> schrieb im Newsbeitrag news:10bfd01c440b6$a4e6ef40$***@phx.gbl...
Hallo René,
das geht ganz einfach so:

Public Sub letzte_Zeile()
Dim intSpalte As Integer, lngletzteZeile As Long
For intSpalte = 1 To 7
If Cells(65536, intSpalte).End(xlUp).Row >
lngletzteZeile Then lngletzteZeile = Cells(65536,
intSpalte).End(xlUp).Row
Next
MsgBox "Letzte Zeile= " & CStr(lngletzteZeile),
64, "Information"
End Sub

Gruß
Nepumuk
Frank Kabel
2004-05-23 13:00:30 UTC
Permalink
Hi
Rene
z.B.: so
Range("A1:G" & lngletzteZeile).select

Wozu willst Du diesen Bereichen den selektieren. In der Regel ist ein
Select eigentlich so gut wie nie notwendig


--
Regards
Frank Kabel
Frankfurt, Germany
Post by René Schmidt
Hallo Nepumuk
Danke, das Funktioniert.
Aber wie kann ich - ausgehend von der ermittelten Zeile - den Bereich
bis in die Zeile A1:G1 markieren(Selektieren)
Wenn z.B. die Zeile 15 als letzte Zeile mit Wert ermittelt wurde
möchte ich den Bereich A15:G1 markieren.
Danke für Hilfe
René
Hallo René,
Public Sub letzte_Zeile()
Dim intSpalte As Integer, lngletzteZeile As Long
For intSpalte = 1 To 7
If Cells(65536, intSpalte).End(xlUp).Row >
lngletzteZeile Then lngletzteZeile = Cells(65536,
intSpalte).End(xlUp).Row
Next
MsgBox "Letzte Zeile= " & CStr(lngletzteZeile),
64, "Information"
End Sub
Gruß
Nepumuk
René Schmidt
2004-05-23 16:33:16 UTC
Permalink
Hallo Frank
Jetzt funktioniert es wunderbar.

Um Deine Frage zu beantworten:
Ich habe eine Tabelle über mehrere Seiten ordentlich formatiert mit Rahmen
usw. (Es nutzen mehrere Personen diese Datei und ich konnte alle 2 Tage die
Formatierung überarbeiten).
Da aber nicht immer alle Zeilen dieser Tabelle ausgefüllt sind kommt es beim
Drucken vor, das die letzte Seite nur noch den Tabellenrahmen ohne Inhalt
enthielten. Um wirklich nur den Tabellenteil mit Inhalt zu drucken habe ich
eine Schaltfläche zum drucken erstellt. Meine Versuche, das Makro selbst zu
erstellen (mit aufzeichnen bzw. Googlesuche) haben nicht funktioniert.
Dank dieser NG sieht es nun so aus

Private Sub CommandButton1_Click()
Dim intSpalte As Integer, lngletzteZeile As Long
For intSpalte = 1 To 7
If Cells(65536, intSpalte).End(xlUp).Row > lngletzteZeile Then
lngletzteZeile = Cells(65536, intSpalte).End(xlUp).Row
Next
Range("A1:G" & lngletzteZeile).Select
Selection.PrintOut copies:=1
End Sub

Herzliche Grüße
René
Post by Frank Kabel
Hi
Rene
z.B.: so
Range("A1:G" & lngletzteZeile).select
Wozu willst Du diesen Bereichen den selektieren. In der Regel ist ein
Select eigentlich so gut wie nie notwendig
--
Regards
Frank Kabel
Frankfurt, Germany
Post by René Schmidt
Hallo Nepumuk
Danke, das Funktioniert.
Aber wie kann ich - ausgehend von der ermittelten Zeile - den Bereich
bis in die Zeile A1:G1 markieren(Selektieren)
Wenn z.B. die Zeile 15 als letzte Zeile mit Wert ermittelt wurde
möchte ich den Bereich A15:G1 markieren.
Danke für Hilfe
René
Hallo René,
Public Sub letzte_Zeile()
Dim intSpalte As Integer, lngletzteZeile As Long
For intSpalte = 1 To 7
If Cells(65536, intSpalte).End(xlUp).Row >
lngletzteZeile Then lngletzteZeile = Cells(65536,
intSpalte).End(xlUp).Row
Next
MsgBox "Letzte Zeile= " & CStr(lngletzteZeile),
64, "Information"
End Sub
Gruß
Nepumuk
Frank Kabel
2004-05-23 16:55:12 UTC
Permalink
Hi
mache aus den zwei Zeilen:
Range("A1:G" & lngletzteZeile).Select
Selection.PrintOut copies:=1

folgenden Einzeiler:
Range("A1:G" & lngletzteZeile).PrintOut copies:=1


--
Regards
Frank Kabel
Frankfurt, Germany
Post by René Schmidt
Hallo Frank
Jetzt funktioniert es wunderbar.
Ich habe eine Tabelle über mehrere Seiten ordentlich formatiert mit
Rahmen usw. (Es nutzen mehrere Personen diese Datei und ich konnte
alle 2 Tage die Formatierung überarbeiten).
Da aber nicht immer alle Zeilen dieser Tabelle ausgefüllt sind kommt
es beim Drucken vor, das die letzte Seite nur noch den Tabellenrahmen
ohne Inhalt enthielten. Um wirklich nur den Tabellenteil mit Inhalt
zu drucken habe ich eine Schaltfläche zum drucken erstellt. Meine
Versuche, das Makro selbst zu erstellen (mit aufzeichnen bzw.
Googlesuche) haben nicht funktioniert.
Dank dieser NG sieht es nun so aus
Private Sub CommandButton1_Click()
Dim intSpalte As Integer, lngletzteZeile As Long
For intSpalte = 1 To 7
If Cells(65536, intSpalte).End(xlUp).Row > lngletzteZeile Then
lngletzteZeile = Cells(65536, intSpalte).End(xlUp).Row
Next
Range("A1:G" & lngletzteZeile).Select
Selection.PrintOut copies:=1
End Sub
Herzliche Grüße
René
Post by Frank Kabel
Hi
Rene
z.B.: so
Range("A1:G" & lngletzteZeile).select
Wozu willst Du diesen Bereichen den selektieren. In der Regel ist ein
Select eigentlich so gut wie nie notwendig
--
Regards
Frank Kabel
Frankfurt, Germany
Post by René Schmidt
Hallo Nepumuk
Danke, das Funktioniert.
Aber wie kann ich - ausgehend von der ermittelten Zeile - den
Bereich bis in die Zeile A1:G1 markieren(Selektieren)
Wenn z.B. die Zeile 15 als letzte Zeile mit Wert ermittelt wurde
möchte ich den Bereich A15:G1 markieren.
Danke für Hilfe
René
Hallo René,
Public Sub letzte_Zeile()
Dim intSpalte As Integer, lngletzteZeile As Long
For intSpalte = 1 To 7
If Cells(65536, intSpalte).End(xlUp).Row >
lngletzteZeile Then lngletzteZeile = Cells(65536,
intSpalte).End(xlUp).Row
Next
MsgBox "Letzte Zeile= " & CStr(lngletzteZeile),
64, "Information"
End Sub
Gruß
Nepumuk
René Schmidt
2004-05-23 18:40:52 UTC
Permalink
Ist gemacht.
Vielen Dank
René
Post by René Schmidt
Hi
Range("A1:G" & lngletzteZeile).Select
Selection.PrintOut copies:=1
Range("A1:G" & lngletzteZeile).PrintOut copies:=1
--
Regards
Frank Kabel
Frankfurt, Germany
Post by René Schmidt
Hallo Frank
Jetzt funktioniert es wunderbar.
Ich habe eine Tabelle über mehrere Seiten ordentlich formatiert mit
Rahmen usw. (Es nutzen mehrere Personen diese Datei und ich konnte
alle 2 Tage die Formatierung überarbeiten).
Da aber nicht immer alle Zeilen dieser Tabelle ausgefüllt sind kommt
es beim Drucken vor, das die letzte Seite nur noch den Tabellenrahmen
ohne Inhalt enthielten. Um wirklich nur den Tabellenteil mit Inhalt
zu drucken habe ich eine Schaltfläche zum drucken erstellt. Meine
Versuche, das Makro selbst zu erstellen (mit aufzeichnen bzw.
Googlesuche) haben nicht funktioniert.
Dank dieser NG sieht es nun so aus
Private Sub CommandButton1_Click()
Dim intSpalte As Integer, lngletzteZeile As Long
For intSpalte = 1 To 7
If Cells(65536, intSpalte).End(xlUp).Row > lngletzteZeile
Then
Post by René Schmidt
lngletzteZeile = Cells(65536, intSpalte).End(xlUp).Row
Next
Range("A1:G" & lngletzteZeile).Select
Selection.PrintOut copies:=1
End Sub
Herzliche Grüße
René
Post by Frank Kabel
Hi
Rene
z.B.: so
Range("A1:G" & lngletzteZeile).select
Wozu willst Du diesen Bereichen den selektieren. In der Regel ist
ein
Post by René Schmidt
Post by Frank Kabel
Select eigentlich so gut wie nie notwendig
--
Regards
Frank Kabel
Frankfurt, Germany
Post by René Schmidt
Hallo Nepumuk
Danke, das Funktioniert.
Aber wie kann ich - ausgehend von der ermittelten Zeile - den
Bereich bis in die Zeile A1:G1 markieren(Selektieren)
Wenn z.B. die Zeile 15 als letzte Zeile mit Wert ermittelt wurde
möchte ich den Bereich A15:G1 markieren.
Danke für Hilfe
René
Hallo René,
Public Sub letzte_Zeile()
Dim intSpalte As Integer, lngletzteZeile As Long
For intSpalte = 1 To 7
If Cells(65536, intSpalte).End(xlUp).Row >
lngletzteZeile Then lngletzteZeile = Cells(65536,
intSpalte).End(xlUp).Row
Next
MsgBox "Letzte Zeile= " & CStr(lngletzteZeile),
64, "Information"
End Sub
Gruß
Nepumuk
Loading...