1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

C# Problem Excel

Discussion in 'Programmieren' started by mikeriedweg, Dec 12, 2008.

Thread Status:
Not open for further replies.
  1. Hallo miteinander

    Ich habe folgendes Problem und zwar möchte ich mit C# einen Teil einer Zelle in Excel fett machen (z.B. "Design: sehr gut").

    Kann mir jemand helfen?

    Liebe Grüsse
    Mike
     
  2. Urs2

    Urs2 Megabyte

    Das geht nicht.

    Excel selbst kann eine einzelne Zelle nur einheitlich formatieren.
    Da kann auch ein Anweisung aus einem anderen Programm nichts daran ändern.

    Gruss Urs
     
  3. Hallo Urs

    Danke für deine Antwort:danke:
    Jetzt weiss ich das ich nicht mehr weiter suchen muss.
     
  4. Hascheff

    Hascheff Moderator

    *hüst*
    Neulich wollte ich als Formelergebnis einen Text "x1" mit tiefgestellter 1 erreichen. Das ging nicht.
     
  5. Urs2

    Urs2 Megabyte

    :confused: ........natürlich geht das nicht so einfach.

    Wenn eine einzelne Zelle in sich, um jeden Preis, verschiedene Formatierungen anzeigen soll, müsste das eigentlich über das Einfügen einer Grafik gehen.

    Nur solange die möglichen Resultate bekannt und nicht zu zahlreich sind, und der Zellinhalt nicht weiterverarbeitet wird >>>
    Wenn Resultat=xy; dann Grafik(in diesem Format ABC¹²³) ; sonst Grafik(in diesem Format ABC₁₂₃)

    Einen so speziellen Spezialfall, dass sich nur schon der Versuch gelohnt hätte, hatte ich allerdings noch nie.

    In Deiner Formel:
    Wie liefert die Formel denn die tiefgestellte Eins?
    Wenn die relevanten Zellen in einer Schriftart formatiert sind, die die tiefgestellten Zahlen kennt... was passiert dann?
    Eine zB mit "Lucida Sans Unicode" formatierte Zelle zeigt die tiefgestellten Zahlen an...
    ...sofern sie den entsprechenden Zeichencode erhält.

    Wenn aber Dein "X" einfach ein String ist, und die Zahl des Formelergebnisses tiefgestellt angehängt werden soll, müsste der Zeichencode des Formelergenisses zuerst in den "tiefgestellten" Zeichencode übersetzt werden.
    Das ist viel Zeug in einer Zelle, und wohl nur über eine benutzerdefinierte Funktion zu machen...

    Gruss Urs
     
  6. Falcon37

    Falcon37 Ganzes Gigabyte

    Stimmt, für Excel 2007 zumindest, nicht:

    [​IMG]
     
  7. Urs2

    Urs2 Megabyte

    @Falcon37
    Da bin ich aber überrascht (mit Excel2003). Hoffentlich hat der TO nicht 2007...
    Oder hast Du getrickst?

    @Hascheff
    Ohne lange Recherche habe ich kurz überprüft > VBA kann offenbar nur mit den Zeichencodes bis 255 umgehen, eine Function wird also den Zeichencode kaum auf "tiefgestellt" ändern oder schreiben können.

    Im Tabellenblatt, Zellen mit "Lucida Unicode Sans" formatiert, habe ich ich die tiefgestellten Zahlen einzeln in Zellen geschrieben.
    ="XY"&A18&A15&A20 schreibt dann XY₆₃₈

    Wenn die tiefgestellten Zahlen im Blatt stehen, kann sie auch die Function kopieren >
    Range("C16") = "XY" & Range("A18") & Range("A15") & Range("A20")
    ergibt das gleiche Resultat...
    ...wobei zum Automatisieren die "Range" natürlich durch vorher ausgewählten Bereiche für die Zahlen 0-9 ersetzt werden müssen...

    Gruss Urs
     
  8. Falcon37

    Falcon37 Ganzes Gigabyte

    Auch in Excel XP kann man Text in der Zelle formatieren wie man lustig ist:

    [​IMG]
     
  9. Hascheff

    Hascheff Moderator

    @ Urs: Du hast den TO nicht richtig verstanden. er will keine Formel erstellen. In der Zelle ist gewöhnlicher Text. Falcon hat gezeigt, was auch schon in Excel 2000 geht.

    Danke für den Tipp mit Lucida. Das wusste ich noch nicht. Ich hab die tiefgestellte ₁ gefunden.
     
  10. Urs2

    Urs2 Megabyte

    Schon möglich.
    Ich bin davon ausgegangen, dass er mit C# das Resultat einer Formel (einen String) in sich unterschiedlich formatieren will, warum sollte er sonst so etwas tun wollen?
    Wenn es eine Textkonstante sein sollte, könnte er die ja in Excel formatieren wie er will, sie verändert sich nicht mehr.

    Formelergebnisse können nicht unterschiedlich formatiert werden (zumindest in Excel2003).

    Gruss Urs
     
  11. Falcon37

    Falcon37 Ganzes Gigabyte

    Sein Beispiel ist doch kein Ergebnis einer Formel!

    Aber ganz offensichtlich ist der TO eh nicht mehr sehr erpicht darauf mit uns zu kommunizieren.
     
  12. Urs2

    Urs2 Megabyte

    Zum Beispiel das Resultat einer Wenn()-Funktion, oder auch nur eines Zellbezugs.
    Wenn es nicht auf einer Formel beruht ist es Betrug > alle Designs würden ungeprüft als "sehr gut" befunden...

    Etwas hatte ich aber übersehen > Wenn der Text von VBA oder eben von C# in die Zelle geschrieben wird, ist er für Excel selbst kein Resultat, sondern eine Konstante.

    Der Vollständigkeit halber > Textkonstanten soll man mit VBA, und damit auch aus anderen Programmen, "teilformatieren" können (zum Testen habe ich keine Lust) >>>
    > http://groups.google.com/group/microsoft.public.excel.misc/browse_thread/thread/634a9e39da688bc4

    Gruss Urs
     
Thread Status:
Not open for further replies.

Share This Page