Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Alle Zellen abwählen
#1
Question 
hi,

Zellen anwählen geht so:

Range("A1").Select

Aber wie wähle ich alle Zellen ab?

Julia :)
Antworten Top
#2
Moin,
das geht nicht.
mindestens eine Zelle muss im Blatt aktiviert sein.
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
[-] Folgende(r) 1 Nutzer sagt Danke an GMG-CC für diesen Beitrag:
  • o0Julia0o
Antworten Top
#3
Naja, nach Ausführung von Code kommt es ja vor, dass gar keine Zelle angewählt ist. Führe z.B. mal den Code "Sub Erstellen()" in der #AVKK aus - danach ist keine Zelle mehr angewählt:

Einzeln:

.xlsx   #AVKK.xlsx (Größe: 29,68 KB / Downloads: 4)

.txt   Test.bas.txt (Größe: 1,6 KB / Downloads: 6)
Zusammen:

.xlsm   #AVKK.xlsm (Größe: 49,45 KB / Downloads: 5)
Antworten Top
#4
Ja, da kann durchaus der Eindruck entstehen, dass keine Zelle aktiviert ist.

Aber führe einmal den Code schrittweise (F8) aus, dann ist (bei mir) am Ende durchaus eine Zelle auch selektiert.

Und hänge einmal diesen Code an deinen an und führe ihn im Anschluss an den Durchlauf des ersten aus:

Code:
Sub GalileoGalilei_Kopernikus()   'Und sie bewegt sich doch :-)
   Sheets("Tabelle1").Activate
   MsgBox ActiveCell.Address(0, 0)
   MsgBox Selection.Address(0, 0)
'   ActiveCell.Select
End Sub

Übrigens: Prima, dass du die *.xlsx plus *.bas "geliefert" hast, das ermöglicht auch jenen Helfern, die aus berechtigter Vorsicht keine VBA-Files öffnen, die Dateien zu öffnen und auch solche Phänomene bestaunen zu können.  Blush
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
[-] Folgende(r) 1 Nutzer sagt Danke an GMG-CC für diesen Beitrag:
  • o0Julia0o
Antworten Top
#5
dankeschön Günther,

ich führe den Code per F8 einzeln aus. Sobald ich in Zelie: "Application.DisplayAlerts = False" stehe (gelb markiert) ist keine Zelle mehr in der #AVKK angewählt. Stattdessen in MappeN, welche ja(ansonsten unbemerkt) temporär angelegt wird. Am Ende ist nur noch die #AVKK geöffnet. Und A1 angewählt. Es ist dann die einzige Datei die geföffnet ist. Ich führe den Code noch einmal aus per F8. Und wieder wird A1 angewählt.

Führe ich den Code aber per Play-Knopf aus, und nich mit F8, dann ist jedes 2. Mal keine Zelle angewählt! Warum?

(31.03.2017, 18:17)GMG-CC schrieb: Aber führe einmal den Code schrittweise (F8) aus, dann ist (bei mir) am Ende durchaus eine Zelle auch selektiert.
Die Regel ist jedoch, dass der Code ja automatisch ausgeführt wird & dann wird keine Zelle ausgewählt.

Wenn ich deinen Kopernikus-Code danach ausführe, zeigt er mir zunächst per MsgBox A1 an, obwohl die Zelle nicht sichtbar ausgewählt ist. Und oben links steht, dass Kontrollkästchen 1 ausgewählt ist. Wenn ich die Cursortasten bewege, verschiebt sich auch Kontrollkästchen 1 & ich lande nicht etwa in Zelle B1 oder A2.
Dann gibt es eine Fehlermeldung: "Laufzeitfehler 438. Objekt unterstüzt diese Eigenschaft oder Methode nicht." Dabei wird die Codeile: "MsgBox Selection.Address(0, 0)" gelb markiert.

Das passiert beim Durchlauf, wenn vorher A1 markiert war. Weil danach ja keine Zelle mehr sichtbar markiert ist(es ist ja Kontrollkästchen 1 markiert). Obwohl er ja am Ende auch die Sub Zellanwahl auswählt worin steht:

Code:
Range("A1").Select
End Sub
Und auch in der Erstellen-Sub selbst steht ja am Ende
Code:
Range("A1").Select
Doch das hilft nichts. Ich kann das auch 2x hintereinander schreiben oder die Zellauswahl-Sub 2x callen. Nützt alles nichts. Ich muß erst manuell auf Play drücken, bei der Zellauswahl-Sub. Dann wird A1 angewählt.

Wie kann ich das also nun einstellen, dass er immer A1 anwählt?
Antworten Top
#6
Julia,
mir ging es in erster Linie darum, dass in Excel immer 1 Zelle aktiv ist. 
Versuche einmal, Cells(1,1).Select zu verwenden; nicht getestet, sollte aber funktionieren (habe derzeit keine Zeit dafür).
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
[-] Folgende(r) 1 Nutzer sagt Danke an GMG-CC für diesen Beitrag:
  • o0Julia0o
Antworten Top
#7
ja danke. Es ist ja keine Zelle aktiv, sondern eine Checkbox. Kklappt leider auch nicht. Folgendes ebenfalls nicht:


Code:
SUB Zellanwahl()
Workbooks("#AVKK_2.xlsm").Activate
Worksheets("Tabelle1").Select
Range("A1").Select
Range("B1").Select
Range("A1").Select
Cells(1,1).Select
Application.Goto Range("Tabelle1!A1")
Worksheets("Tabelle1").Range("A1").Select
Range(Worksheets("Tabelle1").Range("A1").Select
Sheets("Tabelle2").Select
End Sub
Er bleibt stehts auf Tabelle1 stehen & hat keine Zelle angewählt. Obwohl der Code ja auf "Sheets("Tabelle2").Select" endet. Auch wenn die dese Zeile entferne, wird nicht A1 auf Tabelle1 angewählt. Es spielt auch keine Rolle ob ich die Zellanwahl-Sub per CAll aus der Erstellen-Sub aufrufe, oder den Code direkt ans Ende der Erstellen-Sub schreibe.
Antworten Top
#8
Hi,

na dann sind wir mal wieder beim Nix-verstehen!

Mit select wird eine Zelle ausgewählt, erkenntlich am Rand um diese Zelle. Und Dein Code macht genau das, was Du ihm sagst (abgesehen von dem dicken Syntaxfehler mit Range(...!

Laß mal diesen Code laufen:


Code:
Sub test()
Worksheets("Tabelle1").Select
Range("A1").Select
Debug.Print Now + 10 ^ -5
Application.Wait (Now + 10 ^ -5)
Range("B1").Select
Application.Wait (Now + 10 ^ -5)
Range("A1").Select
Application.Wait (Now + 10 ^ -5)
Cells(1, 1).Activate
Application.Wait (Now + 10 ^ -5)
Application.Goto Range("Tabelle1!A2")
Application.Wait (Now + 10 ^ -5)
Worksheets("Tabelle1").Range("C10").Activate
Application.Wait (Now + 10 ^ -4)
Worksheets("Tabelle1").Range("A1").Select
Application.Wait (Now + 10 ^ -5)
Sheets("Tabelle2").Select
End Sub
 Und jetzt beobachte mal, was passiert!
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • o0Julia0o
Antworten Top
#9
Danke Dir Edgar.  Ohja, die eine Codezeile mit dem Syntaxfehler hatte sich noch eingeschlichen - funktioniert so nicht.

Dein Code rufe ich per Call am Ende der Erstellen-Sub auf. Das Ergebnis ist das gleiche, als wenn ich sie nicht aufrufen würde:

Variante A: Es ist keine Zelle angewählt bevor ich Erstellen-Sub ausführe.
Dann ist am Ende in Tabelle1 angewählt(wobei Tabelle2 angewählt ist). Wenn ich die Zeile "Sheets("Tabelle2").Select" ´rauslösche, dan nist A1 in Tabelle1 ebenso angewählt und auch Tabelle1 angewählt.
(während der Laufzeit werden unterschiedliche Zellen in Tabelle1 angewählt)

Variante B: Es ist eine Zelle angewählt in Tabelle1 bevor ich Erstellen-Sub ausführe.
Dann ist am Ende in Tabelle1 keine Zelle angewählt(wobei Tabelle2 angewählt ist). Wenn ich die Zeile "Sheets("Tabelle2").Select" ´rauslösche, dann kein Feld in Tabelle1 angewählt. Tabelle1 ist angewählt.
(während der Laufzeit wird A1 angewählt durch test-sub 2. Zeile(egal welche Zelle zuvor augewählt war) & am Ende ist keine Zelle mehr ausgewählt.
Ich habe ein "Application.Wait Now + TimeSerial(0, 0, 2)" als 3. Zeile testweise in test-sub eingebaut, so kann ich sehen, dass A1 wegen "Range("A1").Select" angewählt wird. Danach wird aber nicht mehr B1 oder andere Felder angewählt. Und wie gesagt, am Ende ist gar kein Feld mehr angewählt. Auch wenn ich alles aus test-sub nach "Range("A1").Select" herausnehme. Wenn ich auch noch das "Worksheets("Tabelle1").Select" herausnehme aus der test-sub, dann wird A1 überhaupt nicht angewählt - also auch nicht während der Laurzeit.

Code:
Sub Erstellen()
    Dim varSheets As Variant
    Dim Dateiname As String
    varSheets = Array("Tabelle1", "Tabelle2")
    Dateiname = Worksheets("Tabelle1").Range("B50").text
    ThisWorkbook.Sheets(varSheets).Copy
    Application.DisplayAlerts = False
        With ActiveWorkbook
        .SaveAs Filename:=ThisWorkbook.Path & "\" & Dateiname, _
                FileFormat:=xlOpenXMLWorkbookMacroEnabled
        .Close
        End With
    Application.DisplayAlerts = True
Call test
End Sub
Code:
Sub test()
Worksheets("Tabelle1").Select
Range("A1").Select
'Application.Wait Now + TimeSerial(0, 0, 2) ::zum Test mal temporär eingebaut
Debug.Print Now + 10 ^ -5
Application.Wait (Now + 10 ^ -5)
Range("B1").Select
Application.Wait (Now + 10 ^ -5)
Range("A1").Select
Application.Wait (Now + 10 ^ -5)
Cells(1, 1).Activate
Application.Wait (Now + 10 ^ -5)
Application.Goto Range("Tabelle1!A2")
Application.Wait (Now + 10 ^ -5)
Worksheets("Tabelle1").Range("C10").Activate
Application.Wait (Now + 10 ^ -4)
Worksheets("Tabelle1").Range("A1").Select
Application.Wait (Now + 10 ^ -5)
'Sheets("Tabelle2").Select ::zum Test, wegen schnellerer Anwahl von Tabelle1 mal temporär ausgebaut
End Sub
Antworten Top
#10
Hi,

Zitat:Es ist keine Zelle angewählt bevor ich Erstellen-Sub ausführe
Das gibt es nicht, es ist immer eine Zelle angewählt, egal was Du machst! Sobald Du eine Datei öffnest ist 1Zelle angewählt, in der Regel A1 des aktiven Tabellenblatts. Daran wirst Du auch nichts ändern!!!!!!
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • o0Julia0o
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste