Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Text anzeigen

Text anzeigen
ing.grohn
Hallo Forum,
1. ich möchte einen Text auf dem Bildschirm anzeigen.
2. anschliessend soll ein Makro ablaufen.
3. ist das Makro fertig, soll der Text entfernt werden.
Wie mach ich das?
Vielen Dank für eine Antwort.
Mit freundlichen Grüßen
Albrecht
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Text anzeigen
14.02.2010 18:52:25
Josef
Hallo Albrecht,

da gibt es mehrere Möglichkeiten, hier eine davon.

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub infotext(Optional infotext As String = "")
  Dim objShp As Shape
  
  If infotext = "" Then
    On Error Resume Next
    ActiveSheet.Shapes("+++INFO+++").Delete
  Else
    Set objShp = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 180#, 63#, 420#, 110#)
    
    With objShp
      .Name = "+++INFO+++"
      With .TextFrame.Characters
        .text = infotext
        .Font.Size = 26
        .Font.ColorIndex = 5
      End With
      With .DrawingObject
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .ReadingOrder = xlContext
        .Orientation = xlHorizontal
        .AutoSize = False
      End With
      .Fill.ForeColor.SchemeColor = 65
      .Fill.Transparency = 0#
      .Line.Weight = 3#
      .Line.ForeColor.SchemeColor = 12
      .Line.BackColor.RGB = RGB(255, 255, 255)
    End With
    DoEvents
  End If
  Set objShp = Nothing
End Sub

Sub text()
  
  infotext "Bitte warten...."
  
  'dein Code
  
  infotext
End Sub

Gruß Sepp

Anzeige
AW: Text anzeigen
14.02.2010 19:34:59
ing.grohn
Hallo Sepp,
hab die Vorlage 1:1 übernommen!
Bei mein Code hab ich eine MsgBox ("jetzt bin ich hier")
Ausser der Box seh ich nichts auf dem Schirm!
Warum nicht?
MfG
Albrecht
AW: Text anzeigen
14.02.2010 19:48:28
ing.grohn
Hallo Sepp,
sobald Userform im Spiel ist gehts nicht!
Mit freundlichen Grüßen
Albrecht
Anzeige
AW: Text anzeigen
14.02.2010 20:27:00
Josef
Hallo Albrecht,

von einem UF war auch nichts in deiner Frage zu lesen!
Dann nimm doch einfach ein Label und blende es am Beginn des Makros ein und am Ende wiedre aus.

Gruß Sepp

Anzeige
AW: Text anzeigen
14.02.2010 20:44:15
ing.grohn
Hallo Sepp,
ne gute Idee, werd ich versuchen und berichte morgen
(Biathlon und pennen ist angesagt)
MfG
Albrecht
AW: an Sepp, Text anzeigen
15.02.2010 10:54:16
ing.grohn
Hallo Sepp,
funktioniert prima!
Vielen Dank!
Mit freundlichen Grüßen
Albrecht
;
Anzeige
Anzeige

Infobox / Tutorial

Text im Excel anzeigen und Makros steuern


Schritt-für-Schritt-Anleitung

Um einen Text auf dem Bildschirm anzuzeigen und anschließend ein Makro auszuführen, kannst du folgendes Excel VBA-Skript verwenden. Dieses Skript zeigt den Text an, wenn das Makro gestartet wird, und entfernt ihn am Ende.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" auswählst.
  3. Kopiere den folgenden Code in das Modul:
Option Explicit

Sub infotext(Optional infotext As String = "")
    Dim objShp As Shape

    If infotext = "" Then
        On Error Resume Next
        ActiveSheet.Shapes("+++INFO+++").Delete
    Else
        Set objShp = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 180, 63, 420, 110)

        With objShp
            .Name = "+++INFO+++"
            With .TextFrame.Characters
                .Text = infotext
                .Font.Size = 26
                .Font.ColorIndex = 5
            End With
            With .DrawingObject
                .HorizontalAlignment = xlCenter
                .VerticalAlignment = xlCenter
                .ReadingOrder = xlContext
                .Orientation = xlHorizontal
                .AutoSize = False
            End With
            .Fill.ForeColor.SchemeColor = 65
            .Fill.Transparency = 0
            .Line.Weight = 3
            .Line.ForeColor.SchemeColor = 12
            .Line.BackColor.RGB = RGB(255, 255, 255)
        End With
        DoEvents
    End If
    Set objShp = Nothing
End Sub

Sub text()
    infotext "Bitte warten...."

    ' Dein Code hier, z.B. ein weiteres Makro
    ' ...

    infotext
End Sub
  1. Ändere den Text in infotext "Bitte warten...." nach deinen Wünschen.
  2. Führe das Makro text aus, um den Text anzuzeigen und dein gewünschtes Makro zu starten.

Häufige Fehler und Lösungen

  • Problem: Der Text wird nicht angezeigt.

    • Lösung: Stelle sicher, dass der Name der Form (Shape) im Code exakt mit dem im Skript übereinstimmt. Es muss "+++INFO+++" sein.
  • Problem: Der Text bleibt auch nach der Ausführung des Makros sichtbar.

    • Lösung: Überprüfe, ob die Zeile infotext am Ende des Makros aufgerufen wird, um den Text zu entfernen.
  • Problem: Fehlermeldung beim Hinzufügen der Textbox.

    • Lösung: Stelle sicher, dass du die richtige Excel-Version verwendest, die die ActiveSheet.Shapes.AddTextbox Methode unterstützt.

Alternative Methoden

Wenn du den Text anzeigen möchtest, ohne eine Textbox zu verwenden, kannst du auch ein Label in einer UserForm einfügen. Hier ist, wie du das machst:

  1. Füge eine UserForm hinzu.
  2. Ziehe ein Label auf die UserForm und benenne es (z.B. lblInfo).
  3. Im Code der UserForm kannst du den Text wie folgt einstellen:
Me.lblInfo.Caption = "Bitte warten...."
Me.Show
' ...
Me.Hide

Praktische Beispiele

Hier ist ein praktisches Beispiel, das zeigt, wie du das Skript in einem realen Szenario verwenden kannst:

Angenommen, du möchtest den Text "Daten werden geladen..." anzeigen, während ein Datenimport durchgeführt wird.

Sub DatenImport()
    infotext "Daten werden geladen..."

    ' Hier kommt dein Datenimport-Code
    ' ...

    infotext
End Sub

Tipps für Profis

  • Nutze die Application.ScreenUpdating = False und Application.ScreenUpdating = True, um das Flackern des Bildschirms zu vermeiden, während das Makro läuft.
  • Experimentiere mit verschiedenen Schriftarten und Farben, um die Benutzeroberfläche ansprechender zu gestalten.
  • Du kannst das infotext Sub auch für andere Zwecke verwenden, um dynamische Informationen während der Ausführung von Makros anzuzeigen.

FAQ: Häufige Fragen

1. Kann ich den Text auch in einer bestimmten Farbe anzeigen?
Ja, du kannst die Farbe im Code anpassen. Ändere die Zeile .Font.ColorIndex = 5 auf den gewünschten Farbindex.

2. Was passiert, wenn ich mehrere Makros hintereinander ausführe?
Stelle sicher, dass der Text am Ende jedes Makros entfernt wird, um Verwirrung zu vermeiden. Du kannst das infotext Sub einfach am Ende jedes Makros aufrufen.

3. Funktioniert dieses Skript in Excel 365?
Ja, das Skript sollte in Excel 365 sowie in anderen modernen Versionen von Excel ohne Probleme funktionieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige