Microsoft Excel

Herbers Excel/VBA-Archiv

AutoSize in Kommentaren

    Betrifft: AutoSize in Kommentaren von: Franz W.
    Geschrieben am: 03.09.2003 08:24:37

    Guten Morgen Forum,

    wir sind gestern hier im Forum als Nebenprodukt auf ein Problem gestoßen, das wir nicht lösen konnten. Darum stelle ich es hier als neue Frage:

    Ein Kommentar soll nur so groß sein wie sein Inhalt. Stellt man dazu bei einem Kommentar unter "Kommentar formatieren -> Ausrichtung" die "Automatische Größe" ein (in VBA "AutoSize"), dann nimmt er die ZEILENUMBRÜCHE RAUS und schreibt das ganze Ding EINZEILIG. Und bei einem etwas längeren Kommentar schaut das deppert aus und der Kommentar geht u.U. weit über den rechten Rand hinaus.

    Kennt da jemand eine Abhilfe, etwas was man noch einstellen kann? Oder einen anderen Trick.

    Vielen Dank schon mal und Grüße
    Franz

      


    Betrifft: AW: AutoSize in Kommentaren von: Galenzo
    Geschrieben am: 03.09.2003 10:24:04

    ..und wenn du SHIFT+ENTER für die Zeilenumbrüche nutzt?


      


    Betrifft: AW: AutoSize in Kommentaren von: Franz W.
    Geschrieben am: 03.09.2003 12:34:51

    Hallo Galenzo,

    wäre zur Not eine Möglichkeit, müsste dann aber bei jedem Kommentar per Hand gemacht werden. So wie ich es aktuell verwende, werden die Kommentare aber per VBA eingetragen, und da hab ich auf den Text vorher keinen Einfluss. Macht das Ganze zu umständlich. Aber vielleicht gibt sich mit Deinem Tipp eine neue Idee.

    Vielen Dank und Grüße
    Franz


      


    Betrifft: AW: AutoSize in Kommentaren (vbCrLf) von: Galenzo
    Geschrieben am: 03.09.2003 12:57:45

    noch ein Denkansatz:
    Zeile1 & vbCrLf & Zeile2 & vbCrLf .....
    (hab ich jetzt aba nicht getestet)


      


    Betrifft: Wie meinst Du das? von: Franz W.
    Geschrieben am: 03.09.2003 13:31:10

    Hallo Galenzo,

    klingt hochinteressant, nur verstehe ich es noch nicht. Wie kann ich das einsetzen? Was ist Zeile1, Zeile2,.....? Wie krieg ich die?

    Franz


      


    Betrifft: AW: AutoSize in Kommentaren (vbCrLf) von: Franz W.
    Geschrieben am: 03.09.2003 20:05:09

    Hallo Galenzo,

    habe jetzt mal in Ansätzen war probiert mit Deinem obigen Tipp. Es klappt auch im Prinzip. Aber leider werden - anders als wenn man es händisch macht - die mittels vbCrLf eingefügten Zeilenumbrüche zwar gemacht, aber gleichzeitig mit einem kleinen Quadrat am Ende jeder Zeile angezeigt. Und das schaut dann auch nicht sehr schön aus. Habe leider noch keine Lösung.

    Grüße
    Franz


      


    Betrifft: AW: AutoSize in Kommentaren (vbLf) von: Galenzo
    Geschrieben am: 04.09.2003 08:18:22

    ja stimmt. hab's auch mal getestet - ist genauso, wie du es beschrieben hast.
    Es geht nur "vbLf" (entspricht Chr(10) - Zeilenvorschub)
    (Bei "vbCr" kümmt ein Quadrat, ebenso wie bei "vbCrLf")
    Da bin ich mit meinem Latein dann auch am Ende :-(


      


    Betrifft: Andere Lösung von: Franz W.
    Geschrieben am: 04.09.2003 09:17:42

    Hallo Galenzo,

    falls es Dich interessiert: ich hab das jetzt ganz anders gelöst, zwar zum Aufbau ein bissl kompliziert, jetzt läufts aber ganz reibungslos: Der Kommentar wird in meinem aktuellen Fall zunächst in ein Textfeld in einer UF geschrieben. Bevor ich nun den Kommentar erstelle, schreibe ich jetzt den Kommentar in eine Zelle (ganz weit hinten rechts in derselben Zeile, in der die ZElle liegt, die den Kommentar abbekommen soll. Dort kommt der Anwender in diesem Fall nie hin). Dann zerlege ich per Formeln diesen Kommentar in Teile, die etwa 20 Zeichen lang sind, in den nach rechts angrenzenden Zellen. Diese Zellen setze ich in VBA dann jeweils mit einem Chr(10) dazwischen zusammen. Die Chr(10) erscheinen NICHT in Form eines ZEichens im Kommentar, bewirken aber trotzdem eine neue Zeile. Und das ist dann der Text für AddComment. Und jetzt kann ich wunderschön AutoSize einsetzen.

    Zugegeben viele Umwege, aber jetzt steht das und klappt bestens und für den Anwender völlig unauffällig.

    Trotzdem danke für Deine Mühe und Grüße
    Franz


      


    Betrifft: AW: ja, richtig - umständlich :-) von: Galenzo
    Geschrieben am: 04.09.2003 12:03:49

    Ja - hab' ich doch gesagt...
    Du brauchst das aber nicht in irgendeiner Zelle zusammensetzen, sondern gleich in VBA
    Beispielstext= "Das ist" & vbLf & "nur ein" & vbLf & "ein Beispiel"

    (vbLf entspricht Chr(10) - den Zeilenvorschub, du kannst statt dessen natürlich auch Chr(10) schreiben...)

    und dann eben .AddComment Beispielstext


      


    Betrifft: AW: ja, richtig - umständlich :-) von: Franz W.
    Geschrieben am: 04.09.2003 12:58:42

    Hallo Galenzo,

    umständlich, Du hast recht. Aber das mit den Zellen hat den Grund, dass ich nicht weiß, wie ich den ganzen Text, der in eine UF eingegeben wird, per VBA in einzelne Teile zerlegen kann für die einzelnen Zeilen, die ich dann mit vbLf verbinden kann. Der Text soll ja "sinnvoll" zerlegt werden, d.h. an Leerstellen. Nicht dass eine Teilung mitten in einem Wort erfolgt. In Excel konnte ich das mit Hilfe des Forums gestern lösen, siehe folgenden Monsterthread.

    https://www.herber.de/forum/archiv/304to308/t304428.htm

    Hättest Du dafür auch eine VBA-Idee? Dann wäre mir nichts lieber als den Umweg über die Hilfszellen zu killen!!

    Grüße
    Franz


      


    Betrifft: AW: leider nein von: galenzo
    Geschrieben am: 05.09.2003 09:23:22

    Huh, das ist dann doch etwas komplizierter, als es sich zunächst anhört. Da gibt es zu viele Eventualitäten zu beachten, als das ich da jetzt schnell 'ne Prozedur für schreiben könnte.


      


    Betrifft: AW: leider nein von: Franz W.
    Geschrieben am: 05.09.2003 10:56:19

    Hallo Galenzo,

    ist auch ok so, kann ja mit dieser Lösung sehr gut leben. Der Aufwand wäre es jetzt glaub ich gar nicht wert.

    Trotzdem vielen Dank und Grüße
    Franz


     

    Beiträge aus den Excel-Beispielen zum Thema " AutoSize in Kommentaren"