Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: MSGBOX mit Formel

MSGBOX mit Formel
Timonski
Servus
hab ein Problem...
ich wollte gern das wenn ich ein Makro ausführ, daß er mir ein Formel ausführt und die Lösung der Formel in einer MSGBox anzeigt...
Folgender Fall
ich will an Pos. J14 mit einem Makro ein Kreuz erzeugen ( über Rahmen ) funzt auch...
jetzt meine Steigerung...
in Spalte B steht ein wert XXX und in Zeile 2 steht ein wert YYY
jetzt will ich das er mit den wert aus spalte B und Zeile 2 zusammen fügt..., d.h. in Zelle J14 steht dann XXX_YYY
Formel hab ich auch schon dazu...
nur wie ich die Formel in die MSGBox reinbring weis ich nicht...
wenn mir einer helfen kann wäre toll...
cu
Timonski
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: MSGBOX mit Formel
OliveR
Hallo Timonski,
entweder gibst Du das Ergebnis aus der Zelle J14 aus:
msgbox Range("J14")
oder Du gibt die gesamte Formel in die Zeile:
msgbox Range("B1") & "_" & Range("B2")
Gruß
OliveR
AW: MSGBOX mit Formel
Timonski
Servus
danke schon mal für deine Antwort...
folgender massen sieht meine Formel aus...
VERKETTEN(INDIREKT(ADRESSE(ZEILE();2;1;WAHR));"_8_04_";INDIREKT(ADRESSE(2;SPALTE();1;WAHR)))
aber ich will doch egal an welcher position ich bin die Formel benutzen können...
Userbild
wie z.b. im Bild An Postion G28 soll er mir dann 7385_8_04_05 schreiben...
die 7385 aus spalte B und die 05 aus Zeile 2
und an Pos. E18 soll er 7400_8_04_03...
vielen dank noch für die schnell antwort...
Anzeige
AW: MSGBOX mit Formel
OliveR
Hi Timonski,
wenn ich Dich richtig verstehe, willst Du folgendes:
1. Du willst eine MessageBox anzeigenlassen, wenn Du in ein Feld klickst
2. Die MessageBox soll die ausgewertete Formel XXXX_YYYY als Antwort enthalten

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
myRow = Target.Row
myColumn = Target.Column
MsgBox Cells(myRow, 2) & "8_4_" & Cells(2, myColumn)
End Sub

Gruß
OliveR
Anzeige
AW: MSGBOX mit Formel
19.04.2004 14:03:59
Timonski
Ja so ähnlich...
das sieht schon mal gut aus...
aber er soll mir die Antwort er zeigen wenn ich auf das kästchen oben links im ecken mit dem Rahmen und dem Kreuz drin drücke...
aber sonst echt klasse...
AW: MSGBOX mit Formel
Timonski
so siehts bis jetzt aus...

Private Sub kreuz_Click()
With Selection.Borders(xlDiagonalDown)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
XXXXXXXXXXXXXXXXXXX hier MSGBOX    XXXXXXXXXXXXXXXXXXXXXXX
End Sub

Anzeige
AW: MSGBOX mit Formel
OliveR
Hallo again,
schwere Geburt, sollte aber gehen.

Private Sub kreuz_Click()
With Selection.Borders(xlDiagonalDown)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
myRow = ActiveCell.Row
myColumn = ActiveCell.Column
MsgBox Cells(myRow, 2) & "_8_4_" & Cells(2, myColumn)
End Sub

Gruß
OliveR
Anzeige
AW: MSGBOX mit Formel
19.04.2004 14:26:04
Timonski
1000 Million Dank
genau so...
echt super...
;
Anzeige
Anzeige

Infobox / Tutorial

MSGBOX mit Formel in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei und gehe zu dem Arbeitsblatt, in dem Du die MSGBOX verwenden möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)".
    • Wähle "Einfügen" und dann "Modul".
  4. Füge den folgenden VBA-Code ein:

    Private Sub kreuz_Click()
       With Selection.Borders(xlDiagonalDown)
           .LineStyle = xlContinuous
           .Weight = xlMedium
           .ColorIndex = xlAutomatic
       End With
       With Selection.Borders(xlDiagonalUp)
           .LineStyle = xlContinuous
           .Weight = xlMedium
           .ColorIndex = xlAutomatic
       End With
    
       Dim myRow As Long
       Dim myColumn As Long
       myRow = ActiveCell.Row
       myColumn = ActiveCell.Column
    
       MsgBox Cells(myRow, 2) & "_8_4_" & Cells(2, myColumn)
    End Sub
  5. Verknüpfe das Makro mit dem Element, auf das Du klicken möchtest (z.B. ein Kreuz in einer Zelle).

  6. Schließe den VBA-Editor und teste das Makro, indem Du auf das Element klickst.


Häufige Fehler und Lösungen

  • Fehler: "Objektvariable nicht festgelegt"

    • Überprüfe, ob Du das richtige Objekt (z.B. Zelle oder Bereich) ausgewählt hast, bevor das Makro ausgeführt wird.
  • Fehler: MSGBOX zeigt keinen Wert an

    • Stelle sicher, dass die Zellen, auf die Du zugreifst (z.B. Cells(myRow, 2)), tatsächlich Werte enthalten.
  • Fehler: Das Makro wird nicht ausgeführt

    • Überprüfe, ob die Makros in Deinen Excel-Einstellungen aktiviert sind.

Alternative Methoden

  • Direkte Ausgabe in Zelle: Anstatt eine MSGBOX zu verwenden, kannst Du das Ergebnis direkt in eine Zelle schreiben, z.B.:

    Cells(myRow, 3).Value = Cells(myRow, 2) & "_8_4_" & Cells(2, myColumn)
  • Excel Infobox: Verwende eine UserForm, um eine benutzerdefinierte Eingabeaufforderung zu erstellen, die mehr Gestaltungsmöglichkeiten bietet.


Praktische Beispiele

  1. Ein Beispiel für die Verwendung von MsgBox:

    • Wenn Du in Zelle J14 klickst, wird eine MSGBOX angezeigt mit dem Inhalt aus Spalte B und Zeile 2.
  2. Verwendung von MsgBox mit Bedingungen:

    If Cells(myRow, 2).Value > 1000 Then
       MsgBox "Wert ist größer als 1000!"
    End If

Tipps für Profis

  • Verwende vbCrLf für Zeilenumbrüche innerhalb der MSGBOX:

    MsgBox "Erster Wert: " & Cells(myRow, 2) & vbCrLf & "Zweiter Wert: " & Cells(2, myColumn)
  • Nutze benutzerdefinierte Dialoge: Optimiere Deine Benutzeroberfläche, indem Du UserForms für eine bessere Interaktion verwendest.

  • Fehlerbehandlung: Implementiere On Error GoTo für eine robustere Fehlerbehandlung in Deinem VBA-Code.


FAQ: Häufige Fragen

1. Wie kann ich die MSGBOX anpassen? Du kannst die MSGBOX mit verschiedenen VBA-Optionen anpassen, z.B. durch Hinzufügen von Schaltflächen oder Icons.

2. Funktioniert das Makro in allen Excel-Versionen? Ja, der gezeigte VBA-Code sollte in den meisten modernen Excel-Versionen (ab Excel 2007) funktionieren. Stelle sicher, dass Makros aktiviert sind.

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