Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Nach Makro keine Zelle selektieren

Nach Makro keine Zelle selektieren
23.02.2006 17:51:04
Louis
Hallo Forum,
da ich in der Recherche nichts passendes gefunden habe melde ich mich hier.
Ist es möglich nach Ablauf eines Makros keine Zelle zu selektieren ?
Wenn nicht habt ihr eine Idee das ganze zu umgehen?
schönen Dank für Eure Hilfe
mfg
louis
Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nach Makro keine Zelle selektieren
23.02.2006 18:22:27
Nepumuk
Hallo Louis,
ich kenne nur zwei Fälle, in denen es überhaupt notwendig ist eine Zelle zu selektieren.
Gruß
Nepumuk

Da wird wohl in deinem Makro üppig mit Select...
23.02.2006 19:05:26
Luc:-?
...gewuchert, Louis!
Das ist typisch für Recorder-Makros. Glaube uns, das geht auch ohne, aber eben nur im Makro. 'Ne einfache Kompromisslösung wäre es, am Anfang des Makros die aktuell ausgewählte Zelle zu merken und dann am Ende des Makros wieder zu wählen.
Gruß Luc :-?
Anzeige
AW: Da wird wohl in deinem Makro üppig mit Select...
ransi
hallo nepumuk
"ich kenne nur zwei Fälle.."
nur der interessehalber.
Verrätst du mir welche?
ransi
AW: Da wird wohl in deinem Makro üppig mit Select...
23.02.2006 19:25:43
Nepumuk
Hallo ransi,
Public Sub test1()
    Range("A1:H25").Select
    ActiveWindow.Zoom = True
    Cells(1, 1).Select
End Sub

Public Sub test2()
    With Cells
        .Copy
        .PasteSpecial xlPasteValues
    End With
    Application.CutCopyMode = False
    Cells(1, 1).Select
End Sub

Gruß
Nepumuk

Anzeige
...und was ist mit diversen Formatierungen von...
23.02.2006 22:36:20
Luc:-?
...Objekten, Nepumuk?
Wenn man z.B. Texte in Kommentaren formatieren, nachsetzen oder ähnliches tuen will?
Na!? Manche Eigenschaften können hier nicht ohne weiteres angewendet wdn, nur auf Selection.
Gruß Luc :-?
AW: ...und was ist mit diversen Formatierungen von...
23.02.2006 22:51:57
Nepumuk
Hallo Luc,
wenn du mir kein Beispiel lieferst, wo ich einen Kommentar selectieren muss, darf ich dann behaupten das deine Aussage Quatsch ist?
Kleines Beispiel:
Public Sub test()
    With Cells(1, 1)
        .AddComment
        With .Comment
            .Visible = False
            .Text Text:="Nepumuk:" & vbLf & vbLf & "Hallo Luc"
            With .Shape.OLEFormat.Object.ShapeRange
                .AutoShapeType = msoShapeExplosion1
                .Fill.ForeColor.SchemeColor = 11
                .ScaleWidth 1.96, msoFalse, msoScaleFromTopLeft
                .ScaleHeight 2.84, msoFalse, msoScaleFromTopLeft
            End With
        End With
    End With
End Sub

Gruß
Nepumuk

Anzeige
@Nepumuk
23.02.2006 23:09:45
MichaV
Hallo Nepumuk,
was ist eigentlich hiermit?
http://www.online-excel.de/fom/fo_read.php?f=1&bzh=5162&h=5161
Ich finde allerdings kein Beispiel, was hier zutreffen würde. Bei mir gibts immer einen Fehler 1004. Welches Shape hat eine Caption?
Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: @Nepumuk
23.02.2006 23:50:14
Nepumuk
Hallo Micha,
hier mal der Code für die Symbolleiste Formular. Bei den Controls der Symbolleiste Steuerelemente-Toolbox wird es allerdings schwierig, da es sehr viele zusätzliche Controls gibt. Die Standardcontrols sind drin.
Public Sub test()
    Dim objShape As Shape
    For Each objShape In ActiveSheet.Shapes
        If objShape.Type = msoFormControl Then
            Select Case objShape.FormControlType
                Case xlButtonControl, xlOptionButton, xlCheckBox, xlLabel, xlGroupBox
                    MsgBox objShape.OLEFormat.Object.Caption
            End Select
        ElseIf objShape.Type = msoOLEControlObject Then
            Select Case objShape.OLEFormat.Object.ProgId
                Case "Forms.CheckBox.1", "Forms.CommandButton.1", "Forms.OptionButton.1", _
                        "Forms.ToggleButton.1", "Forms.Label.1"
                    MsgBox objShape.OLEFormat.Object.Object.Caption
            End Select
        End If
    Next
End Sub

Gruß
Nepumuk

Anzeige
Danke! mT
24.02.2006 00:00:10
MichaV
Hallo,
.Object.Object.Caption ...alles klaro ;o)
Gruß- Micha
Na, da hab ich ja was ausgelöst,...
23.02.2006 23:59:53
Luc:-?
...Nepumuk,
ich hoffe du verzeihst, dass ich jetzt nicht Dutzende meiner userdefined Functions durchkrame, nur um so'ne Stelle zu finden. Weiß aber, dass das mal in Zusammenhang mit Shapes oder Comments vorkam. Allerdings habe ich da bestimmt nicht ...OLEFormat.Object... verwendet.
Auf jeden Fall gibt's noch eine Trivialanwendung, wenn wirklich was ausgewählt wdn soll...;-))
Gruß Luc :-?
Anzeige
AW: Na, da hab ich ja was ausgelöst,...
24.02.2006 00:15:04
Nepumuk
Hallo Luc,
ein Kommentar ist wie alle Shapes ein Objekt und auf die Eigenschaften eines Objektes kannst du ohne Select zugreifen. Wenn du eine Eigenschaft nicht kennst, dann Verweise das Objekt an eine Objektvariable und schau dir die Eigenschaften im Lokalfenster an. Manchmal musst du halt ein paar Ebenen aufklappen um sie zu finden. So wie eben
Cells(1, 1).Comment.Shape.OLEFormat.Object.ShapeRange.Fill.ForeColor.SchemeColor = 11
Gruß
Nepumuk

Anzeige
Naja, irgendwann wär's mir aufgefallen. Danke! owT
24.02.2006 00:23:47
Luc:-?
:-?
AW: ...und was ist mit diversen Formatierungen von...
23.02.2006 22:56:17
Louis
Hallo Luc,
sorry, Dir natürlich auch ein Danke an Deinem Interesse für mein Problem.
Wenn Du eine Idee oder einen Ansatz weisst immer her her damit
mfg Louis
AW: Da wird wohl in deinem Makro üppig mit Select...
23.02.2006 22:46:33
Louis
Hallo nepumuk,
Hallo ransi,
danke Euch für Euer Interesse für mein Problem.
Solangsam wird mir das ganze jetzt peinlich.Aber vieleicht habe ich mich auch nur falsch ausgedrückt.
Wenn ich eine UserForm über folgende Anweisung aufrufe, und diese wieder schliesse habe ich die active Zelle selectiert.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(ActiveCell, Range("AD1")) Is Nothing Then
Else
Jahr.Show
End If
End Sub

Ich drücke mich jetzt mal ganz banal aus.
Nach dem schliessen der UserForm möchte ich um keine Zelle einen schwarzen Rand.
Ist das möglich ?
Wenn ihr Euch meiner noch einmal annehmen würdet, würde ich mich freuen.
mfg Louis
Anzeige
AW: Da wird wohl in deinem Makro üppig mit Select...
23.02.2006 23:02:06
Nepumuk
Hallo Louis,
eine Tabelle ohne aktive Zelle? Das geht nur, wenn die Tabelle komplett geschützt ist und die EnableSelection - Eigenschaft auf xlNoSelection gesetzt ist. Aber, dann kannst du keine Zelle mehr anklicken um dein Userform aufzurufen. Ein Wiederspruch in sich.
Gruß
Nepumuk

Anzeige
AW: Da wird wohl in deinem Makro üppig mit Select...
23.02.2006 23:07:02
Louis
Hallo nepumuk,
nochmal Danke für Deine Antwort.
Ich habe bis jetz die "selectierte Zelle" immer hinter irgendwelchen Shapes versteckt.
Dachte das geht auch irgenwie anders.
Für heute reichts auch einfach.
gute Nacht
Louis
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Keine Zelle nach Makro selektieren in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Makro erstellen: Öffne den VBA-Editor (Alt + F11) und erstelle ein neues Modul.

  2. Code schreiben: Füge den folgenden Code in dein Modul ein, um eine Zelle auszuwählen, ohne dass am Ende eine Zelle selektiert bleibt:

    Sub BeispielMakro()
       Dim aktuelleZelle As Range
       Set aktuelleZelle = ActiveCell
    
       ' Führe hier deine Aktionen durch
       ' ...
    
       ' Wähle am Ende keine Zelle aus
       aktuelleZelle.Select
       Application.CutCopyMode = False
    End Sub
  3. Makro ausführen: Führe das Makro aus und überprüfe, ob am Ende keine Zelle selektiert ist.


Häufige Fehler und Lösungen

  • Fehler 1004: Dieser Fehler tritt häufig auf, wenn versucht wird, eine nicht vorhandene Zelle zu selektieren. Stelle sicher, dass die Zelle existiert und korrekt referenziert ist.
  • Zelle bleibt selektiert: Wenn du eine Zelle selektiert siehst, prüfe, ob du Application.CutCopyMode = False am Ende deines Makros verwendet hast, um die Auswahl aufzuheben.

Alternative Methoden

Eine Möglichkeit, keine Zelle auszuwählen, ist das Schützen des Arbeitsblattes und das Setzen der EnableSelection-Eigenschaft:

Sub SchützenOhneSelektieren()
    With ActiveSheet
        .Protect UserInterfaceOnly:=True
        .EnableSelection = xlNoSelection
    End With
End Sub

Diese Methode verhindert, dass Zellen selektiert werden, während das Arbeitsblatt geschützt ist.


Praktische Beispiele

  • Beispiel 1: Makro für Datenübertragung ohne Auswahl:

    Sub DatenÜbertragen()
       Dim DatenQuelle As Range
       Set DatenQuelle = Range("A1:A10")
    
       ' Kopiere Werte ohne Zelle zu selektieren
       Range("B1:B10").Value = DatenQuelle.Value
    End Sub
  • Beispiel 2: Kommentarformatierung ohne Selektieren:

    Sub KommentarFormatieren()
       With Cells(1, 1).Comment.Shape
           .Fill.ForeColor.SchemeColor = 11 ' Verwende vba schemecolor
           .TextFrame.Characters.Text = "Kommentar"
       End With
    End Sub

Tipps für Profis

  • Verwende With-Anweisungen, um die Lesbarkeit deines Codes zu erhöhen und das Risiko von Fehlern beim Select-Befehl zu reduzieren.
  • Halte deinen Code modular, indem du Funktionen und Subroutinen erstellst, die spezifische Aufgaben erledigen, sodass du excel vba zelle selektieren vermeidest.

FAQ: Häufige Fragen

1. Kann ich das Selektieren von Zellen komplett vermeiden? Ja, indem du das Arbeitsblatt schützt und die EnableSelection-Eigenschaft auf xlNoSelection setzt.

2. Wie kann ich eine Zelle in einem Makro auswählen, ohne dass sie am Ende selektiert bleibt? Speichere die aktuelle Zelle in einer Variablen und wähle sie am Ende des Makros wieder aus, um die Auswahl aufzuheben.

3. Was ist vba schemecolor und wie benutze ich es? vba schemecolor wird verwendet, um Farben in VBA zu setzen. Du kannst es bei der Formatierung von Zellen oder Kommentaren verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige