9.9k Aufrufe
Gefragt in Tabellenkalkulation von wmei Mitglied (117 Punkte)
Hallo an Alle,
ich benötige Eure Hilfe.
Ich möchte in Spalte A ab Zelle 8 die letzte Zelle mit einem
Wert finden.
In den Zeilen von 8 bis 180 steht eine Formel,
Die Funtion "Range("A8:A" & Worksheets("Daten").Cells(Rows.Count, 1).End(xlUp).Row).Select"
findet aber nur die Zeile 180 wo die letzte Formel steht.
Danke
wim

15 Antworten

0 Punkte
Beantwortet von wmei Mitglied (117 Punkte)
Hallo Rainer,
das trifft den Nagel auf den Kopf in diesem Fall.
Wenn ich ein festes Druckbereich habe, steht in der Fußzeile
zB. "Seite 1 von 5" obwohl nur auf der ersten Seite wirklich
Daten stehen. Aus diesem Grund möchte ich in diesem Fall
nurt das Bereich markieren das Daten enthält.
Da meine Programierkenntnisse aber auf der Basis von
learn by doing entstanden sind und noch entstehen
benutze ich solche funtionierenden Sequenzen gern auch
für andere Zwecke.
Zu Deinen Fragen:
Der Wert in A ist ein Textwert nach folgendem Muster AX HTP30.
Die Formel lautet:WENN(ZEILEN($E$9:E166)>$I$1;"";SVERWEIS($G$1;INDIREKT(VERKETTEN(ADRESSE(VERGLEICH(Schmierplan!$G$1;Daten!$C$4:$C$787;0)+2+ZEILEN($F$8:F165);3;4;1;"Daten");":";ADRESSE(Schmierplan!$I$1+1+VERGLEICH(Schmierplan!$G$1;Daten!$C$3:$C$787;0);5;1;1)));3;FALSCH))
MfG
wim
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo wim,

verfahre wie folgt:

- öffne Deine Arbeitsmappe und hebe den bestehenden Druckbereich auf
- wähle im Menü "Einfügen" das Untermenü "Namen" und dort "Namen definieren"
- im erschienenen Fenster gibst Du unter "Namen" den Namen "Druckbereich" (ohne Gänsefüsschen) ein
- unter "Bezieht sich auf:" gibst Du folgende Formel ein, bestätigst mit "Übernehmen" und schließt das offene Fenster.

=BEREICH.VERSCHIEBEN(Tabelle1!$A$1;;;MAX((Tabelle1!$A$1:$A$180<>"")*ZEILE(Tabelle1!$1:$180));7)

Mit der letzten Zahl in der Formel, hier die 7, wird die letzte Spalte des Druckbereches bestimmt 7 = Spalte G (kannst Du beliebeig anpassen)

Nun sollte sich Dein Druckbereich ohne weiteres Zutun immer auf die Zeile letze Wertrezeile der Spalte A einstellen

Falls Du ein Makro in der Datei hast, welches auch den Druckbereich beeinflusst, lösche es vor der ganzen Aktion.

Gruß
Rainer
0 Punkte
Beantwortet von wmei Mitglied (117 Punkte)
Hallo Rainer,
hab's probiert, ich arbeite mit Office 2003.
Er übernimmt es einfach nicht.
1. Warum ist in Bereich nur eine Zelle angegeben
BEREICH.VERSCHIEBEN(Tabelle1!$A$1;
Gruß
wim
0 Punkte
Beantwortet von wmei Mitglied (117 Punkte)
Hallo Rainer,
sorry alles klar, ich hab immer darauf gewartet, daß er im Namensfeld links oben, wo man normalerweise das Druckbereich
anwählen kann, erscheint.
Es erscheint da nicht, funtioniert aber tadellos.
mit dieser dieser Brille habe ich "Bereich.Verschieben" noch nicht
gesehen.

Danke und großes Lob
wim
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo wim,

bei mir geht's, Formel ist getestet.
Leider kann ich nicht auf Deinen Rechner schauen.

1. Warum ist in Bereich nur eine Zelle angegeben
BEREICH.VERSCHIEBEN(Tabelle1!$A$1;


..... der Schein trügt, es ist nicht nur eine Zelle angegeben, $A$1 ist nur die Zelle von der die Funktion ausgeht.

Du solltest Dir die Syntax von BEREICH.VERSCHIEBEN mal in der Hilfe anschauen, ich verkneife es mir diese hier zu erläutern.

Gruß
Rainer
...