Registriert seit: 22.04.2016
Version(en): 2016
Hey!
Ich würde gerne innerhalb einer Spalte einen Rahmen von A2 bis zu nächsten gefüllte Zelle ziehen und ab der nächsten von neuem also:
A2 > A3 > A4 A5>A6 A7 A8>A9>A10
Ich weiß zwar wie ich einen Rahmen ziehe:
base.UsedRange.Borders.LineStyle = xlContinuous
Aber nicht wie ich bis zur nächsten gefüllten Zelle komme.
Beste Grüße
Registriert seit: 05.05.2014
Version(en): 2010 + 2016 Home and Business
Hallo,
Deine verschiedenen Angaben zumindest für mich in Gänze teils widersprüchlich bzw. nicht eindeutig.
Vielleicht stellst Du mal eine kleine Datei ein, wo Du händisch Deine Zellen entsprechend formatiert hast.
Gruß Werner .. , - ...
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
z.B. so von A1 zur nächsten belegten Zelle, wenn ach A1 Leerzeichen beginnen. Ansonsten wird es die letzte belegte Zelle des ab A1 gefüllten Bereichs. Cells(1, 1).End(xlDown).Address
Welche der Beiden Varianten es ist, könntest Du über eine Prüfung der vorherigen Zelle herausbekommen. Kommt nach der Zelle nix mehr, landest Du mit dem nächsten Sprung am Tabellenende.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 22.04.2016
Version(en): 2016
Hey!
Vielen Dank für eure Antworten und Entschuldigung für meine mangelhafte Beschreibung.
Das problembezieht sieht auf einen ganzen Bereich, aber wenn ich die Lösung innerhalb einer Spalte erzeuge, kann ich diese auch auf einen ganzen Bereich ableiten.
Also:
Ich habe Spalte A, diese besitzt Zellen die leer sind. So ist A2 gefüllt, und A3 und A4 beispielweise leer. Nun möchte ich einen Ramen von A2 bis zur letzten leeren (einschließlich dieser) oder bis zur nächsten efüllten Zelle (ausschließlich dieser) ziehen. Und dann geht es ab A5 wieder weiter. Es ist also eine Schleife nötig.
Wie gesagt, den Befehl zum ziehen eines Rahmens habe ich bereits herausgefunden. Aber welchen Schleifentyp benutze ich nun und wie schaut das weitere Prozedere aus? Da ich noch kompletter Anfänger bin, tue ich mich sehr schwer.
Was fange ich nun mit diesem Befehl an?:
Cells(1, 1).End(xlDown).Address
Beste Grüße
Registriert seit: 28.05.2014
Version(en): 2013 / 2016
(29.12.2016, 16:53)joshua schrieb: Was fange ich nun mit diesem Befehl an?: Cells(1, 1).End(xlDown).Address Na ja, du trägst ihn in den VBA-Editor ein ... Und wenn du Neopas Aufforderung nachgekommen wärst, könnten wir es dir sogar am "lebenden Beispiel" zeigen ...
Beste Grüße Günther
Excel-ist-sexy.de …schau doch mal rein! Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Joshua, machen wir mal einen Step weiter. Bisschen was hatte ich ja schon dazu erklärt. Fülle mal ein paar Zellen in Spalte A aus, mit Leerzeilen dazwischen und auch mal mehreren gefüllten Zellen nacheinander, und lasse diesen Code drüber laufen: Sub test() For icnt = 1 To Cells(Rows.Count, 1).End(xlUp).Row MsgBox Cells(icnt, 1).End(xlDown).Address icnt = Cells(icnt, 1).End(xlDown).Row Next End Sub Schaue Dir dabei die Ausgeben der Msgbox an und vergleiche sie ggf. mit den Einträgen in Spalte A. Dann machen wir weiter ...
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• joshua
Registriert seit: 04.03.2015
Version(en): 2000 + meist 2010
30.12.2016, 14:46
(Dieser Beitrag wurde zuletzt bearbeitet: 30.12.2016, 14:47 von lupo1.)
Ohne VBA:
1. In gesamter Spalte Rechts-Links als normales Format 2. mit bedingter Formatierung: "Wenn Zelle gefüllt, Oben-Rechts-Links"
Registriert seit: 22.04.2016
Version(en): 2016
(30.12.2016, 10:55)schauan schrieb: Hallo Joshua,
machen wir mal einen Step weiter. Bisschen was hatte ich ja schon dazu erklärt. Fülle mal ein paar Zellen in Spalte A aus, mit Leerzeilen dazwischen und auch mal mehreren gefüllten Zellen nacheinander, und lasse diesen Code drüber laufen:
Sub test() For icnt = 1 To Cells(Rows.Count, 1).End(xlUp).Row MsgBox Cells(icnt, 1).End(xlDown).Address icnt = Cells(icnt, 1).End(xlDown).Row Next End Sub
Schaue Dir dabei die Ausgeben der Msgbox an und vergleiche sie ggf. mit den Einträgen in Spalte A. Dann machen wir weiter ... Hey, vielen Dank für die Hilfe! Also die Messagebox zeigt mir nun alle gefüllten Zellen der Spalte A an. Wie kriege ich es nun hin, dass nach dieser Auswahl der zu formatierende Bereich definiert wird? Entschuldigt, dass ich mich so schwer tue. Ich hatte leider bisher sehr wenig/ kein Kontakt zu VBA, entsprechend besitze ich auch keine Erfahrung
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen, es ist auch unabhängig vom VBA nicht ganz einfach So könnte es funktionieren: Code: Sub test() icnt = 2 Do While icnt < Cells(Rows.Count, 1).End(xlUp).Row If Cells(icnt, 1).Borders(xlEdgeBottom).LineStyle <> xlContinuous Then Range(Cells(icnt, 1), Cells(icnt, 1).End(xlDown)).BorderAround (xlContinuous) End If icnt = Cells(icnt, 1).End(xlDown).Row Loop End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
|