Anzeige
Archiv - Navigation
1088to1092
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

Bereich markieren ab bestimmten Eintrag

Bereich markieren ab bestimmten Eintrag
Christian
Hallo allerseits!
es könnte alles so schön sein, wenn nur der chef und seine ideen nicht wären... ;)
Ihc habe folgendes, wunderbares makro (natürlich mit Foren Hilfe) welches mir den benutzten bereich in den Spalten J-X markiert (ohne überschrift, deswegen "+2").
Dim i As Long
Dim Firstrow As Long
Dim Lastrow As Long
Lastrow = 0
Firstrow = Rows.Count
For i = 10 To 24
If IIf(IsEmpty(Cells(Rows.Count, i)), Cells(Rows.Count, i).End(xlUp).Row, Rows.Count) > _
Lastrow Then
Lastrow = IIf(IsEmpty(Cells(Rows.Count, i)), Cells(Rows.Count, i).End(xlUp).Row, Rows. _
Count)
End If
If IIf(IsEmpty(Cells(1, i)), Cells(1, i).End(xlDown).Row, 1) Firstrow = IIf(IsEmpty(Cells(1, i)), Cells(1, i).End(xlDown).Row, 1)
End If
Next i
'MsgBox Firstrow & " " & Lastrow
Range("J" & (Firstrow + 2), "X" & Lastrow).Select
Da jetzt aber auch in den Spalten J-X in dem Bereich über dem den ich markieren will, einträge gemacht werden sollen, funktioniert das makro natürlich nicht mehr wie ich es gerne hätte.
Ich würde es jetzt gerne so abändern, das das makro in den spalten J-X quasi meine Überschrift von dem relevanten bereich sucht und dann ab da bis zum letzten eintrag in diesen spalten markiert.
Ist das möglich? wenn ja wie?
Bin für alle Anregungen dankbar!
viele grüße
christian
anregung: LetzteSpalte..
23.07.2009 17:52:16
robert
hi,
letzte spalte in zeile 1:
LetzteSpalte = ActiveSheet.Cells(6, Columns.Count).End(xlToLeft).Column
gruß
robert
AW: anregung: LetzteSpalte..
23.07.2009 17:59:53
Christian
Hallo Robert,
vielen dank für deine schnelle antwort, leider kann ich damit aber wenig anfangen...
evtl. habe ich mich etwas missverständlich ausgedrückt...
Der bereich den ich markieren will liegt in den spalten J-X. Z.B in Zeile 100 - 200 (aber natürlich nicht immer in zeile 100-200)
Mit dem genannten Makro markiert excel dynamisch den benutzten bereich.
nun sollen aber oberhalb des zu markierenden bereichs eintragungen gemacht werden können, die aber nicht mit markiert werden sollen.
Deswegen würde ich gerne bei der Überschrift des relevanten bereichs beginnen und bis zum letzten eintrag markieren. (unterhalb des relevanten bereichs kommen keine anderen einträge mehr...)
Hoffe es ist jetzt klarer...
danke und gruss
christian
Anzeige
AW: anregung: LetzteSpalte..
23.07.2009 18:14:24
robert
hi,
probier mal das
gruß
robert
Sub tt()
Dim sp As Long
Dim i As Long
Dim Firstrow As Long
Dim Lastrow As Long
Lastrow = 0
Firstrow = Rows.Count
sp = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
For i = 10 To sp
If IIf(IsEmpty(Cells(Rows.Count, i)), Cells(Rows.Count, i).End(xlUp).Row, Rows.Count) > _
Lastrow Then
Lastrow = IIf(IsEmpty(Cells(Rows.Count, i)), Cells(Rows.Count, i).End(xlUp).Row, Rows. _
Count)
End If
If IIf(IsEmpty(Cells(1, i)), Cells(1, i).End(xlDown).Row, 1) 

AW: anregung: LetzteSpalte..
24.07.2009 09:10:46
Christian
Hallo!
Vielen dank!
Robert: funktioniert leider nicht, Laufzeitfehler 1004, Anwendungs oder Objektdefinierter fehler in der letzten zeile...
Heinz: Natürlich kopiere ich den markierten teil auch in ein anderes blatt... (damit habe ich aber keine probleme)
Eine Alternative wäre in spalte J nach einem Bestimmten Eintrag als Referenz zu suchen, und dann alles rechts davon markieren / kopieren, aber da hab ich leider auch keine idee wie man das machen kann...
Vielen dank im voraus für weitere anregungen!
gruss
christian
Anzeige
AW: anregung: LetzteSpalte..
24.07.2009 09:36:11
Christian
Hi Robert,
nochmals vielen dank für die blitzschnelle antwort!
du hast recht, in deiner beispieldatei funktioniert das makro, ist aber leider nicht das was ich brauche...
ich habe nochmal eine beispiel datei erstellt, ich hoffe damit wird es klarer was ich brauche..
https://www.herber.de/bbs/user/63394.xls
danke und gruss
christian
Anzeige
AW: anregung: LetzteSpalte..
23.07.2009 18:15:13
Heinz
Hi,
wozu markieren? Wenn du Eingaben machst, wird die Markierung doch ohnehin wieder aufgehoben.
mfg Heinz
Bereich kopieren ab bestimmtem Text
24.07.2009 10:28:06
Erich
Hi Christian,
hier habe ich "dest" mal als Destination offen gelassen.
Markiert werden muss wohl gar nicht - du willst ja kopieren. Probier mal:

Option Explicit
Sub tst()
Dim rngL As Range, lngL As Long, lngU As Long
Dim dest As Range
Set rngL = Columns("J").Find(What:="Überschrift", _
LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:=False)
If rngL Is Nothing Then
MsgBox "Überschrift nicht gefunden"
Else
lngU = rngL.Row
End If
Set rngL = Columns("J:X").Find("*", Cells(1, 10), xlValues, , xlByRows, xlPrevious)
If rngL Is Nothing Then
MsgBox "nix gefunden"
Else
lngL = rngL.Row
End If
If lngL * lngU > 0 Then Range(Cells(lngU, 10), Cells(lngL, 24)).Copy dest
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Bereich kopieren ab bestimmtem Text
24.07.2009 15:54:01
Christian
Hallo!
Danke an alle, Problem gelöst!
Robert: in deinem vorschlag war die Zeile 100 fest eingestellt, ich wollte es doch aber dynamisch... aber:
Erich: Mit einem Teil aus deinem Vorschlag in Kombination mit meinem vorhandenen hab ichs jetzt hingekriegt!
Für alle die es interessiert:
Dim rngL As Range, lngU As Long
Set rngL = Columns("J").Find(What:="Überschrift", _
LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:=False)
If rngL Is Nothing Then
MsgBox "Überschrift nicht gefunden"
Else
lngU = rngL.Row
End If
'MsgBox lngU + 2
Dim i As Long
Dim Firstrow As Long
Dim Lastrow As Long
Lastrow = 0
Firstrow = Rows.Count
For i = 10 To 24 '=Spalten J-X
If IIf(IsEmpty(Cells(Rows.Count, i)), Cells(Rows.Count, i).End(xlUp).Row, Rows.Count) > _
Lastrow Then
Lastrow = IIf(IsEmpty(Cells(Rows.Count, i)), Cells(Rows.Count, i).End(xlUp).Row, Rows. _
Count)
End If
If IIf(IsEmpty(Cells(1, i)), Cells(1, i).End(xlDown).Row, 1) Firstrow = IIf(IsEmpty(Cells(1, i)), Cells(1, i).End(xlDown).Row, 1)
End If
Next i
'MsgBox Firstrow & " " & Lastrow
Range("J" & (lngU + 2), "X" & Lastrow).Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Ich bin ziemlich sicher, dass sich die profis jetzt totlachen, aber egal, so gehts! :)
nochmals vielen dank, viele grüße und ein schönes Wochenende!
gruss
christian
Anzeige
das soll das ergebnis sein?
24.07.2009 16:33:15
robert
hi,
das hast du gewollt ?
sorry aber das ist doch nicht deine forderung gewesen
gruß
robert

Die Datei https://www.herber.de/bbs/user/63414.xls wurde aus Datenschutzgründen gelöscht


AW: das soll das ergebnis sein?
24.07.2009 16:44:18
Christian
Hallo Robert,
naja, zunächst würde ich sagen, dass ich hier keine "forderungen" stelle - ich versuche höflich darum zu bitten, dass mir jemand hilft... :)
Aber ja, genauso wie ich es gepostet habe soll es sein, es tut mir leid wenn ich mich da etwas missverständlich ausgedrückt habe...
Allerdings hatte ich im ersten beitrag schon folgendes geschrieben:
"Ich würde es jetzt gerne so abändern, das das makro in den spalten J-X quasi meine Überschrift von dem relevanten bereich sucht und dann ab da bis zum letzten eintrag in diesen spalten markiert.
Ist das möglich? wenn ja wie?"
Trotzdem bin ich auf jeden fall für alle antworten dankbar, auch wenn es vielleicht nicht 100% zutrifft, ich finde es schon super wie schnell (und vor allem uneigennützig) die Forenmitglieder hier helfen..
Falls du verägert bist tut es mir wirlklich leid, das war bestimmt nicht meine absicht!
viele grüße
christian
Anzeige
AW: das soll das ergebnis sein?
24.07.2009 16:51:58
robert
hi,
ich bin nich verärgert, aber wenn ich dein makro laufen lasse-siehe datei vom vorigen beitrag-
dann markiert er doch nicht den bereich ab Überschrift-oder ?
deshalb verstehe ich nicht, dass du behauptest, dass das die lösung ist
probier es doch aus, bzw schick eine datei wo es angeblich geht,
damit ich ev.sehen kann, ob und wo mein gedankenfehler ist.
gruß
robert
AW: das soll das ergebnis sein?
24.07.2009 17:01:48
Christian
Hi!
du hast recht, mit der beispieldatei ging es nicht (wegen den Verbundenenen Zellen bei Überschrift) in meiner echten datei hatte ich das angepasst, so wie jetzt in der beispieldatei:
https://www.herber.de/bbs/user/63416.xls
so gehts!
(die echte datei kann ich dir leider nicht schicken - vertraulich...)
gruss
christian
Anzeige
Ok,jetz geht's,beide zufrieden:-) owT
24.07.2009 17:12:14
robert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige