Wie kann ich einen VBA-Code erstellen, der eine UserForm öffnet, wenn Zelle D9 nicht leer ist und verlassen wird, und dann die Auswahl ('Fremd' oder 'Eigen') in C9 einträgt?

Antwort vom

Um dies in VBA zu erreichen, kannst du das `Worksheet_Change`-Ereignis verwenden, um zu überprüfen, ob die Zelle D9 geändert wurde und nicht leer ist. Wenn diese Bedingungen erfüllt sind, wird eine UserForm geöffnet, in der der Benutzer zwischen "fremd" und "eigen" wählen kann. Die Auswahl wird dann in die Zelle C9 eingetragen. Hier ist ein Beispielcode, der dies umsetzt: 1. Erstelle eine UserForm mit zwei Schaltflächen: eine für "fremd" und eine für "eigen". Nenne die Schaltflächen `btnFremd` und `btnEigen`. 2. Füge den folgenden Code in das Modul des Arbeitsblatts ein (z.B. `Tabelle1`): ```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 UserForm1.Show End If End If End Sub ``` 3. Füge den folgenden Code in das Modul der UserForm ein: ```vba Private Sub btnFremd_Click() Worksheets("Tabelle1").Range("C9").Value = "fremd" Me.Hide End Sub Private Sub btnEigen_Click() Worksheets("Tabelle1").Range("C9").Value = "eigen" Me.Hide End Sub ``` Stelle sicher, dass die UserForm den Namen `UserForm1` hat und die Schaltflächen korrekt benannt sind. Wenn die Zelle D9 geändert und nicht leer ist, wird die UserForm angezeigt, und die Auswahl des Benutzers wird in die Zelle C9 eingetragen.

Kategorie: Programmierung Tags: VBA Excel UserForm

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 steuerst du d...

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 = Rows("4:...

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-Code...

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öcht...

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 WorkbookOpen und WorkbookSheetBeforeRightClick zwei eigenständige Ereignisprozeduren (Event Handler), die jeweils auf...

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 If Not IsE...

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 Range-Ob...

Wie kann ich mit VBA den Bereich 'Test' in Blatt 1 kopieren und in Blatt 2 ab Zelle B18 einfügen?

Um in Excel mit VBA einen Bereich namens "test" aus Blatt 1 zu kopieren und in Blatt 2 ab Zelle B18 einzufügen, kannst du folgenden VBA-Code verwenden: vba Sub BereichKopieren() '...

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), zu sp...

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" durch d...