Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1496to1500
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

Automatische Rahmen um ausgefüllte Zellen

Automatische Rahmen um ausgefüllte Zellen
06.06.2016 15:57:29
Patrick

Hallo,
da hier ja sehr gut weitergeholfen wird, habe ich eine weitere Frage.
ich habe bereits gegoogelt, aber irgendwie gebe ich den Code falsch ein.
Ich möchte, dass auf einem Tabellenblatt um jede ausgefüllte Zelle automatisch Rahmen gesetzt werden, mittlerer Stärke. Zwar gibt es eine Möglichkeit mit bedingter Formatierung, aber hier hatte ich nur schmale Rahmen zur Auswahl. Außerdem wurden bei Formatübertragung manche Rahmen dick, andere wieder dünn ausgegeben.
VBA scheint ja insgesamt gut zu funktionieren.
Falls möglich, wäre es klasse, wenn noch alles zentriert wird (horizontal und vertikal), mit Schriftart Arial pt 12.
Lässt sich so etwas realisieren?
Vielen Dank.

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Makrorekorder
06.06.2016 17:22:02
RPP63
Hallo!
Du könntest natürlich den Makrorekorder anwerfen.
Der liefert Dir aber eine unfassbar lange Tapete.
Sub RPP()
With Tabelle2.UsedRange.SpecialCells(xlCellTypeConstants)
.Borders.Weight = xlMedium
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
With .Font
.Name = "Arial"
.Size = 12
End With
End With
End Sub

ist kürzer … ;-)
Gruß Ralf

AW: Makrorekorder
06.06.2016 21:53:07
Patrick
Ok, danke. Ich weiß nur nicht, wo ich das eingeben muss.
Also bei mir handelt es sich um Tabelle 3, also habe ich das so eingefügt:
Sub RPP()
With Tabelle3.UsedRange.SpecialCells(xlCellTypeConstants)
.Borders.Weight = xlMedium
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
With .Font
.Name = "Arial"
.Size = 12
End With
End With
End Sub Nur kommt das jetzt in "DieseArbeitsmappe" oder Tabelle3...
Habe es in beiden eingefügt, aber verstehe noch nicht, wie das läuft. Unter "DieseArbeitsmappe" habe ich schon erfolgreich folgende eingefügt, damit Berechnungen erst duch Drücken von F9 ablaufen:
Private Sub Workbook_Open()
Application.Calculation = xlCalculationManual
End Sub
Kommt das neue nun dazwischen? Habe es nicht hinbekommen. Ich hätte auch gerne so etwas wie ein "Pop Up", welches darauf hinweist, dass vor Beenden der Datei noch F9 gedrückt werden soll. Oh man, ich machs mir wohl zu kompliziert, aber eine Abfrage sollte sein, da auch andere mit der Tabelle arbeiten sollen und sie selbsterklärend sein soll...

Anzeige
AW: Makrorekorder
07.06.2016 09:01:49
Werner
Hallo Patrick,
normal mische ich mich ja nicht ein, wenn jemand schon bei der Problemlösung dabei ist, Aber da sich Ralf derzeit nicht meldet.
Es stellt sich die Frage, wie kommen die Werte ins Tabellenblatt?
1. händische Eingabe
2. durch Formeln berechnet
Gruß Werner

AW: Makrorekorder
07.06.2016 15:53:13
Patrick
Hi,
die Eingaben erfolgt überwiegend händisch. Teilweise werden texte auch aus dem ERP-System kopiert und in die Zelle eingefügt. Mir geht es überwiegend darum, dass man sich Zeit sparen kann und darum, dass optisch alles gut aussieht.
Es soll außerdem sichergestellt werden, dass spätestens beim Beenden der Datei, noch eine abschließende Berechnung durchgeführt wird, und diese dann erst abgespeichert wird. Sind eigentlich zwei Themen und weiß nicht, ob so etwas überhaupt möglich ist,

Anzeige
AW: Makrorekorder
07.06.2016 20:39:48
Werner
Hallo Patrick,
für die Formatierung der Zellen:
Rechtsklick auf Reiter von Tabellenblatt 2 - Code anzeigen - Code rechts ins Code-Fenster kopieren
Private Sub Worksheet_Change(ByVal Target As Range)
With Tabelle2.UsedRange.SpecialCells(xlCellTypeConstants)
.Borders.Weight = xlMedium
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
With .Font
.Name = "Arial"
.Size = 12
End With
End With
End Sub
Und für dein zweites Problem sollte es doch reichen, wenn du vor dem Schließen der Datei die Automatische Berechnung wieder einschaltest. Beim nächsten Start der Datei wird sie ja wieder abgeschaltet.
Code in diese Arbeitsmappe:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.Calculation = xlCalculationAutomatic
End Sub
Gruß Werner

Anzeige
AW: Makrorekorder
08.06.2016 16:26:38
Patrick
Hi Werner,
ich bin sehr dankbar für die Hilfe. Ich muss später noch eine weitere Frage stellen, weiß noch nicht, wie ich das formulieren soll.
Aus irgendwelchen Gründen funktioniert der erste Code für die Formatierung nicht, wenn ich ihn ins Code-Fenster des entsprechenden Tabellenblatts kopiere. Es passiert einfach nichts, irgendwas mache ich falsch...

AW: Makrorekorder
08.06.2016 16:36:38
Werner
Hallo Patrick,
stellt sich die Frage ins Codefenster welchen Tabellenblattes kopierst du den Code?
Kopierst du ihn z.B. ins Blatt 3 dann muss die Codezeile
With Tabelle2.UsedRange.SpecialCells(xlCellTypeConstants)
an das entsprechende Blatt angepasst werden.
Ansonsten Beispieldatei (in der es nicht funktioniert) hochladen.
Gruß Werner

Anzeige
AW: Makrorekorder
08.06.2016 16:36:43
Patrick
Hi Werner,
ok, habe den Fehler gefunden. Allerdings funktioniert es nur dann, wenn man vorher den Blattschutz aufhebt, ansonsten kommt eine Fehlermeldung. Der Blattschutz schützt die Formeln vor versehentlichen Löschungen. Gibt es da eine Möglichkeit?
Vielen lieben Dank nochmal.

AW: Makrorekorder
08.06.2016 16:43:14
Werner
Hallo Patrick,
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Tabelle2").Unprotect Password:="DeinPasswort"
With Tabelle2.UsedRange.SpecialCells(xlCellTypeConstants)
.Borders.Weight = xlMedium
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
With .Font
.Name = "Arial"
.Size = 12
End With
End With
Sheets("Tabelle2").Protect Password:="DeinPasswort"
End Sub
Gruß Werner

Anzeige
AW: Makrorekorder
08.06.2016 22:16:37
Patrick
Hi Werner,
ich würde gerne die Tabelle hochladen, dazu muss ich aber viele Inhalte ändern. Das dauert etwas.
Wenn ich oben genannten Code in Tabelle3 ändere und dort einfüge, öffnet sich der Debugger und hinterlegt folgende Zeile gelb:
Sheets("Tabelle3").Unprotect Password:="MeinPasswort"
Außerdem werden die bereits automatisch ausgefüllten Zellen nicht mit formatiert, obwohl ich den gleichen an Tabelle3 angepassten Code, wie von Dir in einer anderen Antwort erklärt, noch in "DieseArbeitsmappe" unter der Calculate-Formel eingebunden habe.

AW: Makrorekorder
08.06.2016 23:03:25
Werner
Hallo Patrick,
hast du auch den Blattschutz für Tabellenblatt 3 gesetzt und das Passwort richtig vergeben? Wenn nicht dann versucht der Code das Blatt zu entschützen mit einem Passwort welches nicht vergeben ist.
Bezüglich des Problems beim Calculate-, hast du mal die Berechnung angestossen? Du schaltest ja beim Start der Datei auf manuelle Berechnung.
Ansonsten für mich ohne Datei schwierig.
Gruß Werner

Anzeige
AW: Makrorekorder
09.06.2016 16:16:57
Patrick
Hallo Werner,
anbei die Datei. Ich habe jetzt mal alles mit Fehler drin gelassen.
Später muss ich noch weitere Lösungen finden. Aber erst einmal Schritt für Schritt..
Das Passwort ist "PW", habe es nun eingegeben, damit ich es ausprobieren kann.
ich danke Dir sehr, ist eine wirklich schwierige Aufgabe, die mir gestellt wurde...
LG, Patrick.
https://www.herber.de/bbs/user/106119.xlsm

AW: Makrorekorder
09.06.2016 18:05:23
Werner
Hallo Patrick,
Ich bin übers Wochenende nicht im Lande, komme also frühestens am Montag dazu. Sollte der Beitrag schon ins Archiv gewandert sein dann eröffne ich einen neuen und schreibe dich im Betreff an. Schau einfach mal rein.
Ich stell mal noch auf offen, vielleicht hat ja übers Wochenende jemand Zeit und Muse.
Gruß Werner

Anzeige
AW: Makrorekorder
09.06.2016 21:05:56
Patrick
Alles klar, ich finde es überhaupt super, dass einem hier so toll geholfen wird. Ich kann ja schon vieles, aber sowas ist Neuland für mich.

AW: Makrorekorder
08.06.2016 16:40:30
Patrick
PS: Es gibt auch Spalten, die automatisch gefüllt werden, dort funktioniert es ebenfalls nicht, ist das zu realisieren, dass dort ebenfalls das Format angewendet wird? Wäre in diesem Fall aber nicht ganz so tragisch....
Danke.

AW: Makrorekorder
08.06.2016 16:49:09
Werner
Hallo Patrick,
dann den Code zusätzlich noch (natürlich ohne die erste und ohne die letzte Codezeile) ins Worksheet Calculate- Ereignis Kopieren.
Gruß Werner

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige