Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Bed. Formatierung Bereich flexibel
#11
Ok mein Argument, dass es der Übersichtlichkeit dient bezog sich auf folgendes Szenario: Ich habe nur eine lange Liste in einem Tabellenblatt anstatt 52.
Wenn nun ins Feld geführt wird, dass man ein Blatt für die Eingabe und eins zur schönen Darstellung verwenden kann, finde ich die Idee interessant - je länger ich darüber nachdenke komme ich allerdings zu dem Problem, dass die Datei durch mehrere Personen bearbeitet wird und ich auf der schön gestalteten Seite eine Bearbeitungsmöglichkeit benötige. Ergo müsste ich quasi in beide Richtungen schreiben (von Liste zur schönen Darstellung und zurück) und da kommen dann nur aufwendige vba-Makros in Frage. 

Sicherlich wäre das möglich aber auf der anderen Seite durch das ständige ausführen eines Makros vmtl auch rechenintensiv und damit mit leichten Verzögerungen verbunden. 

Ich gebe euch Recht: Excel ist ein Programm welche mit Listen arbeitet und für die von mir gestaltete Arbeit eher nicht prädestiniert ist. In Ermangelung an Softwarealternativen (bitte fangt nicht an, mir etwas dahingehend vorzuschlagen, wir haben keine andere geeignete Software) geht es derzeit nicht anders.

Und nun zum Kernproblem: Wenn ihr Experten da auf Anhieb keine Lösung präsentieren könnt, gehe ich davon aus, dass man keinen indirekten verweis innerhalb einer bedF für den anzuwendenden Bereich nutzen kann. Entsprechend muss ich dann doch wieder auf ein Makro umsteigen. 

Wie gesagt, das mit dem Makro ist kein Problem aber halt ein uneleganter Umweg. Ich werde ihn gehen. 

Danke für eure Mühen. 

P.S.: Wieso da ein Versatz drin ist muss ich mal schauen, ist mir gar nicht aufgefallen bisher
Antworten Top
#12
Hi,

da nur du deine Datei oder besser gesagt, die Anforderung an deine Aufgabe, kennst, kann man keine Vorschläge für eine bessere Gestaltung der Eingabe machen. Aber die gibt es sicherlich.

Noch eine Anmerkung zu bed.Form. mit Unterbrechungen. Für so etwas nehme ich gerne den "großen" Bereich (inklusive Unterbrechungen) und mache davor eine Bed.Form. für die Unterbrechung. In deinem Beispiel also für den Bereich "$C$11:$C$89;..." und vor eine für "$30:$40;$60:$70" mit der Formel =WAHR und gesetztem Haken bei "Anhalten". Somit werden in den Zeilen 20:40;60:70 keine bed.Form. ausgeführt.
Auf gleiche Art und Weise könnte man auch einzelne Spalten oder Zellen raus nehmen.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
[-] Folgende(r) 1 Nutzer sagt Danke an HKindler für diesen Beitrag:
  • EasY
Antworten Top
#13
Hallöchen,

Zitat:Ergo müsste ich quasi in beide Richtungen schreiben (von Liste zur schönen Darstellung und zurück)

also, mal ganz einfach gesagt, könntest Du per VBA von der Liste in die schöne Darstellung fast nur mit einer Codezeile alles übernehmen.
Von der schönen Darstellung zur Liste könnte man es ebenso tun.

Kommt natürlich auch auf den Aufbau an und was Du übernehmen willst.

Wenn Du einfach nur die Zeilen eines Monats nehmen willst, dann z.B. im Prinzip

Tabelle1 beginnt in A1 mit 1.1.
Tabelle2 steht in A1 der 1. des gewünschten Monats

Daten aus A:Z des gewünschten Monats werden nach Tabelle2.A5 ff. eingefügt. (Bereich sollte man ggf. zuvor leeren, zumindest die letzten 3 Tage Smile )

Sub test()
Tabelle1.Range("A" & Tabelle2.Cells(1, 1) - Tabelle1.Cells(1, 1) + 1 & ":Z" & _
DateAdd("m", 1, Tabelle2.Cells(1, 1)) - Tabelle1.Cells(1, 1)).Copy
Tabelle2.Range("A5").PasteSpecial Paste:=xlValues
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste