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

Wie kann man Zahlen in Excel-VBA ohne wissenschaftliches Format in eine .txt-Datei schreiben?

Um Zahlen wie 6,9999999999 in Excel-VBA beim Schreiben in eine .txt-Datei **nicht** im wissenschaftlichen Format (z. B. 6,9999999999E+00), sondern exakt so wie sie sind (mit allen Nachkommastellen), z... [mehr]

Wie lautet die Syntax, um in Excel VBA ein bestimmtes Tabellenblatt zu aktivieren?

Um in Excel VBA ein bestimmtes Tabellenblatt zu aktivieren, verwendest du folgende Syntax: ```vba Worksheets("Tabellenblattname").Activate ``` Ersetze dabei `"Tabellenblattname"`... [mehr]

Wie kann man eine per Access-VBA automatisch geöffnete Excel-Datei direkt wieder schließen?

Um eine Excel-Datei, die per Access-VBA geöffnet wurde, automatisch wieder zu schließen, solltest du das Excel-Objektmodell in deinem Access-VBA-Code verwenden. Hier ein Beispiel, wie das g... [mehr]

Was bedeutet der Befehl "QuellBlatt1.Rows(2).Copy" in VBA?

Der Befehl `QuellBlatt1.Rows(2).Copy` in VBA (Visual Basic for Applications) bedeutet, dass die **zweite Zeile** (Row 2) des Arbeitsblatts mit dem Namen oder Objektverweis `QuellBlatt1` **kopiert** wi... [mehr]

Mit welcher Funktion kann ich in VBA einen im Arbeitsblatt ermittelten Wert anzeigen?

In VBA kannst du einen Wert, den dein Makro zuvor ermittelt hat, mit der Funktion `MsgBox` anzeigen. Beispiel: ```vba Dim ermittelterWert As Double ermittelterWert = Worksheets("Tabelle1").... [mehr]

Wie lässt sich in Excel VBA der Typ eines Tabellenblatts (Chart oder Worksheet) ermitteln?

In Excel VBA kannst du den Typ eines Tabellenblatts (ob es sich um ein Arbeitsblatt oder ein Diagrammblatt handelt) mit der Type-Eigenschaft des jeweiligen Objekts ermitteln. Hier ein Beispiel: ```vb... [mehr]

Wie kann ich mit VBA einen Zellenbereich kopieren und in die nächste freie Zeile einfügen?

Um mit VBA einen bestimmten Zellenbereich (z.B. `A1:C3`) zu kopieren und in die nächst freie Zeile einer anderen Spalte oder Tabelle einzufügen, kannst du folgenden Beispielcode verwenden:... [mehr]

Warum tritt in Access VBA bei der Abfrage 'If AnlageNeu = "Schleifmaschine" And Nachklassifizierung Is Null Then' die Fehlermeldung 'Objekt erforderlich' auf?

Die Fehlermeldung **"Objekt erforderlich"** in VBA tritt meist auf, wenn du versuchst, auf ein Objekt zuzugreifen, das nicht existiert oder falsch deklariert wurde. In deinem Fall liegt das... [mehr]

Wie kann ich mit VBA Daten zeilenweise aus mehreren Tabellen in eine Gesamttabelle kopieren?

Um mit VBA Daten zeilenweise aus mehreren Tabellenblättern in eine Gesamttabelle zu kopieren, kannst du folgenden Ansatz verwenden: 1. **Alle relevanten Tabellenblätter durchlaufen** 2. **D... [mehr]

Wie kopiere ich mit PowerShell zwei Excel-Zellen kombiniert in eine neue Zelle eines neuen Arbeitsblattes?

Um zwei Excel-Zellen per PowerShell zu kombinieren und das Ergebnis in eine neue Zelle eines neuen Arbeitsblatts zu schreiben, kannst du das COM-Objekt von Excel verwenden. Hier ein Beispiel, wie das... [mehr]