Clever-Excel-Forum

Normale Version: Excel VBA in 2010 & 2019
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,
ich versuche mit diesem VBA-Code feststellen ob eine Region bereits selektiert ist, wenn nicht sollte MsgBox auftauchen.
Es sieht so, dass es nicht richtig funktioniert, hat jemand irgendeine Idee?
Danke
T




Sub RegionSel()

If TypeName(Selection) = "Range" Then
MsgBox "Please select a range before running this macro"
'Exit Sub
End If
End Sub
Hallo,


Zitat:Es sieht so, dass es nicht richtig funktioniert, hat jemand irgendeine Idee?
Sub RegionSel()

If TypeName(Selection) = "Range" Then
MsgBox "Please select a range before running this macro"
'Exit Sub
End If
End Sub
du verwendest die Funktion TypeName(...) falsch. Hast du dir die Microsoft-Hilfe mit F1 angesehen?

Da gibt es keinen Rückgabewert namens "Range".

Was immer du damit wolltest, zB. könnte das IF lauten:
if Selection.cells.count>1 then ...
ok

so geht jetzt




Dim tbl As Range
Set tbl = ActiveCell.CurrentRegion

If Selection.Cells.Count = 1 Then
        MsgBox "Please select a range before running this macro"
        Exit Sub
Else
    With Selection.Interior

....




Danke Dir
noch eine Frage:

Kann jemand mir sagen was bei dem Code:

userform1.Show

falsch ist, dass es beim Abrechen/Schliessen zum Lauftzeitfehler 424 kommt.

danke





Sub TestA()
Sheets("AD").Select
Range("C10:M500").Select
Application.Dialogs(xlDialogFormulaFind).Show
If ActiveCell.Row <> 1 Then
    ActiveCell.EntireRow.Select
    userform1.Show
End If
    Range("A9").Select
End Sub
Hallo,

Laufzeitfeher 424 heißt, dass es keine Userform mit dem Namen userform1 gibt.