VBA Code: Wenn Zelle D9 nicht leer und Zelle verlassen, dann Box öffnen und 'fremd' oder 'eigen' auswählen. Daten von Auswahl in C9 eintragen?

Antwort

Um dies in VBA zu erreichen, kannst du den folgenden Code verwenden. Dieser Code wird im Arbeitsblattmodul eingefügt und überprüft, ob die Zelle D9 nicht leer ist, wenn sie verlassen wird. Wenn dies der Fall ist, öffnet sich eine Eingabebox, in der du "9fremd" oder "eigen" auswählen kannst. Die Auswahl wird dann in die Zelle C9 eingetragen. 1. Öffne Excel und drücke `Alt + F11`, um den VBA-Editor zu öffnen. 2. Doppelklicke auf das entsprechende Arbeitsblatt im Projekt-Explorer, in dem der Code ausgeführt werden soll (z.B. "Tabelle1 (Sheet1)"). 3. Füge den folgenden Code in das Arbeitsblattmodul ein: ```vba Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Me.Range("D9")) Is Nothing Then If Me.Range("D9").Value <> "" Then Dim Auswahl As String Auswahl = InputBox("Bitte '9fremd' oder 'eigen' eingeben:", "Auswahl") If Auswahl = "9fremd" Or Auswahl = "eigen" Then Me.Range("C9").Value = Auswahl Else MsgBox "Ungültige Eingabe. Bitte '9fremd' oder 'eigen' eingeben." End If End If End If End Sub ``` Dieser Code überprüft, ob die Zelle D9 geändert wurde und ob sie nicht leer ist. Wenn dies der Fall ist, wird eine Eingabebox angezeigt, in der du "9fremd" oder "eigen" eingeben kannst. Die Eingabe wird dann in die Zelle C9 geschrieben. Wenn eine ungültige Eingabe gemacht wird, erscheint eine Fehlermeldung.

Kategorie: Programmierung Tags: VBA Excel Makro
KI fragen

Verwandte Fragen

Ist Shapes("Rechteck 1").Visible = True korrekt in Excel-VBA?

Der Ausdruck `Shapes("Rechteck 1").Visible = True` ist in Excel-VBA **nicht korrekt**, da das `Visible`-Eigenschaftsmerkmal für Shapes in Excel-VBA **nicht existiert**. In Excel-VBA s... [mehr]

Ist folgender Excel-VBA-Code korrekt: HeightPt = Rows("4:" & Cells(49,19).Row).Height?

Der gezeigte Code ist in Excel-VBA **nicht korrekt** und führt zu einem Fehler. Das Problem liegt in der Syntax innerhalb der `Rows`-Funktion. Hier die Analyse: **Dein Code:** ```vba HeightPt =... [mehr]

Wie kann man in Excel-VBA einen RGB-Code aus einer Zelle lesen?

Um in Excel-VBA einen RGB-Code aus einer Zelle zu lesen und diesen z.B. für die Füllfarbe eines Shapes zu verwenden, kannst du wie folgt vorgehen: Angenommen, in Zelle **A1** steht der RGB-... [mehr]

Wie kann man per VBA-Makro beim Öffnen einer Datei das Kontextmenü der rechten Maustaste deaktivieren?

Um beim Öffnen einer Excel-Datei per VBA-Makro die Kontextmenüs der rechten Maustaste zu deaktivieren, kannst du folgenden Code im Modul "DieseArbeitsmappe" (engl. "ThisWorkbo... [mehr]

Was ist im Excel-Makro bei einer For-Schleife besser: Dim as Integer oder Dim as Long?

In Excel-Makros (VBA) ist es besser, Schleifenvariablen mit `Dim ... As Long` zu deklarieren statt mit `Dim ... As Integer`. Der Grund: In VBA werden alle Integer-Werte intern trotzdem als Long behand... [mehr]

Ist der Code wert = Range("Ergebnisse[Gab Bauteil lang]").Value in VBA fehlerfrei?

Der Code `wert = Range("Ergebnisse[Gab Bauteil lang]").Value` ist in VBA **nicht fehlerfrei**, wenn du auf eine Excel-Tabelle mit strukturierten Verweisen (Tabellenreferenzen) zugreifen m&ou... [mehr]

Kann man Private Sub Workbook_SheetBeforeRightClick in Private Sub Workbook_Open integrieren?

Nein, das ist nicht möglich. In VBA (Visual Basic for Applications) sind `Workbook_Open` und `Workbook_SheetBeforeRightClick` zwei eigenständige Ereignisprozeduren (Event Handler), die jewei... [mehr]

Gibt es If Not (Bedingung) Then in VBA für Excel?

Ja, in VBA für Excel gibt es die Möglichkeit, eine Bedingung mit **If Not (Bedingung) Then** zu prüfen. Das Schlüsselwort **Not** kehrt die Bedingung um. Hier ein Beispiel: ```vba... [mehr]

Ist 'Range(Cells(a,10):Cells(b,10)).Copy' im VBA-Code korrekt?

Die Syntax `Range(Cells(a,10):Cells(b,10)).Copy` ist in VBA (Visual Basic for Applications) **nicht korrekt**. In VBA muss der Bereich innerhalb der `Range`-Funktion als String oder als zwei separate... [mehr]

Wie kann ich mit einem VBA-Makro die Zeilen 8 bis 10 ausblenden?

Um in Excel mit einem VBA-Makro die Zeilen 8 bis 10 auszublenden, kannst du folgenden Code verwenden: ```vba Rows("8:10").Hidden = True ``` So gehst du vor: 1. Drücke `ALT + F11`, um... [mehr]