IsNumeric(Ausdruck) Beispiel: vba If IsNumeric(Range("A1").Value) Then MsgBox "Zahl" Else MsgBox "Keine Zahl" End If Rückgabewert: True = numerisch False = nich...
Wie wählt man mit Application.InputBox mehrere Blätter aus, wählt einen Bereich, kopiert ihn und fügt ihn in ein neues Blatt ein?
Antwort vomUm mehrere Blätter mittels `Application.InputBox` in Excel VBA auszuwählen, einen Bereich auszuwählen, zu kopieren und in ein neues, ebenfalls mittels `Application.InputBox` ausgewähltes Blatt einzufügen, könnte der folgende VBA-Code verwendet werden: ```vba Sub CopyRangeToNewSheet() Dim wsSource As Worksheet Dim wsTarget As Worksheet Dim rng As Range Dim wsName As String Dim targetSheetName As String ' Eingabeaufforderung für den Namen des Quellblatts wsName = Application.InputBox("Gib den Namen des Quellblatts ein:", Type:=2) ' Überprüfen, ob das Blatt existiert On Error Resume Next Set wsSource = Worksheets(wsName) On Error GoTo 0 If wsSource Is Nothing Then MsgBox "Das Blatt " & wsName & " existiert nicht." Exit Sub End If ' Eingabeaufforderung für den zu kopierenden Bereich On Error Resume Next Set rng = Application.InputBox("Wähle den Bereich aus, der kopiert werden soll:", Type:=8) On Error GoTo 0 If rng Is Nothing Then MsgBox "Kein Bereich ausgewählt." Exit Sub End If ' Eingabeaufforderung für den Namen des Zielblatts targetSheetName = Application.InputBox("Gib den Namen des Zielblatts ein:", Type:=2) ' Überprüfen, ob das Zielblatt existiert, wenn nicht, erstellen On Error Resume Next Set wsTarget = Worksheets(targetSheetName) On Error GoTo 0 If wsTarget Is Nothing Then Set wsTarget = Worksheets.Add wsTarget.Name = targetSheetName End If ' Bereich kopieren und in das Zielblatt einfügen rng.Copy Destination:=wsTarget.Range("A1") MsgBox "Bereich erfolgreich kopiert." End Sub ``` Dieser Code führt folgende Schritte aus: 1. Fragt den Benutzer nach dem Namen des Quellblatts. 2. Überprüft, ob das Quellblatt existiert. 3. Fragt den Benutzer nach dem zu kopierenden Bereich. 4. Fragt den Benutzer nach dem Namen des Zielblatts. 5. Überprüft, ob das Zielblatt existiert, und erstellt es gegebenenfalls. 6. Kopiert den ausgewählten Bereich und fügt ihn in das Zielblatt ein. Weitere Informationen zu `Application.InputBox` findest du in der [Microsoft-Dokumentation](https://docs.microsoft.com/en-us/office/vba/api/excel.application.inputbox).
Verwandte Fragen
Gibt es die Excel-Funktion ZÄHLENWENN auch in Excel-VBA?
Ja. In Excel-VBA gibt es dafür WorksheetFunction.CountIf oder direkt Application.CountIf. Beispiel: vba Dim erg As Long erg = Application.WorksheetFunction.CountIf(Range("A1:A10"), &...
Wie nennt man das Zerlegen einer Excel-VBA-Prozedur in mehrere Teile?
Das nennt man meist Refactoring, genauer: Modularisierung: eine große Prozedur in mehrere kleinere Prozeduren/Funktionen aufteilen Extrahieren von Methoden/Prozeduren (Extract Method): Teilcode...
Wie lege ich in Excel eine UserForm an?
„UnserForm“ ist in Excel kein gängiger Begriff. Gemeint ist sehr wahrscheinlich UserForm. So legst du in Excel eine UserForm an: 1. Entwicklertools aktivieren Excel öffnen Date...
Kann man in Excel-VBA die Schriftgröße der MsgBox ändern?
Nein. Die Schriftgröße der eingebauten VBA-MsgBox lässt sich nicht direkt ändern. Möglichkeiten: Eigene UserForm verwenden → volle Kontrolle über Schriftgrö&s...
Ist dieser Excel-VBA-Code korrekt, um Spalten auszublenden und einen Bereich wieder einzublenden?
Nein. Korrekt ist bei Columns die Angabe von Spaltenbuchstaben oder Spaltennummern als Bereich, nicht "spaltevon:spaltebis" wörtlich. Beispiel: vba With Sheets("Tab1") .Co...