Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

Schleife erstellen Wie | Herbers Excel-Forum


Betrifft: Schleife erstellen Wie von: walli
Geschrieben am: 18.11.2009 16:55:50

Guten Aben Fachfrauen u. Männer,
wie kann ich hiermit eine Schleife erstellen.
Wenn ich dies ausführe, muß ich jedesmal auf den Button drücken, sonst
klappt es soweit.

Private Sub CommandButton29_Click()
ActiveCell.Select
Application.SendKeys "{F2}"
Application.SendKeys "{ENTER}"
so geht es leider nicht:
Dim i As Long
With ActiveSheet
        For i = 12 To .Cells(.Rows.Count, 9).End(xlUp).Row
ActiveCell.Select
Application.SendKeys "{F2}"
Application.SendKeys "{ENTER}"
       Next
  End With
End Sub
guß walli

  

Betrifft: AW: Schleife erstellen Wie von: Björn B.
Geschrieben am: 18.11.2009 17:12:18

Hallo,

was soll da denn für ne Zahl rauskommen?
Lass dir die Variable mal anzeigen:
Activesheet.Cells(Activesheet.Rows.Count, 9).End(xlUp).Row

Gruß
Björn B.


  

Betrifft: Läuft nicht von: walli
Geschrieben am: 19.11.2009 08:56:46

Guten Morgen Björn,
habe die Zeile eingegeben, Fehlermeldung.
Laufzeitfehler 431
Objekt unterstütz die Eigenschaft oder Methode nicht.

Übrings bei mir ist so eingestellt, nach Enter nächste Zelle.

mfg walli


  

Betrifft: Ergänzung... von: Björn B.
Geschrieben am: 18.11.2009 17:17:28

Hallo,

ich war mal wieder zu schnell.
Hast Du bei Dir eingestellt, dass nach Drücken von Enter die Markierung ne Zeile runter springt?
Sonst musst du die Markierung nach F2 und Enter noch verschieben, sonst machst du das zig mal mit der gleichen Zellen.

Was willst du überhaupt machen? Werden Zahlen nicht als solche erkannt?
Das geht auch einfacher und vor allem schneller.

Schau z.B. hier, das ist ein Beitrag von heute:
https://www.herber.de/forum/messages/1118360.html

Gruß
Björn B.


  

Betrifft: Ja nicht erkannt von: walli
Geschrieben am: 18.11.2009 21:24:05

Guten Abend Björn,
ja die Zahlen werden nicht erkannt.
Wenn ich mit F2 reingehe u. dann ENTER drücke klappts.

mfg walli


  

Betrifft: Ich brauch nur die Schleife ! von: walli
Geschrieben am: 19.11.2009 09:05:24

Hallo Björn,
wenn ich die Zeilen im Makro drin lasse,
läuft es genau so wie ich es brauch:
ActiveCell.Select
Application.SendKeys "{F2}"
Application.SendKeys "{ENTER}"
ich bräuchte jetzt eine Schleife die die Spalte 9 ab Zeile 12 abarbeitet, sonst muß
ich jedesmal den Button drücken.
Der Hinweis auf die anderen Forumsinhalte, die Makros laufen nicht.

mfg walli


  

Betrifft: Text in Zahlen umwandeln von: Matthias5
Geschrieben am: 19.11.2009 09:09:03

Guten Morgen,

ohne Makro:
Markiere die Spalte, stelle das Format auf Standard oder das gewünschte Zahlenformat, gehe dann im Menü "Daten" auf "Text in Spalten" und klicke dort auf "fertigstellen" - fertig!

Gruß,
Matthias


  

Betrifft: Das glaube ich nicht... von: Björn B.
Geschrieben am: 19.11.2009 09:14:26

Der Hinweis auf die anderen Forumsinhalte, die Makros laufen nicht.
Hallo,

dieses Problem, das Zahlen nicht als solche erkannt werden, wurde schon zig mal hier im Forum beantwortet.
Da kannst du mir nicht erzählen, dass das alles nicht funktioniert.
Allein auf der Seite, die ich dir geschickt habe, waren mindestens 4 Möglichkeiten, das besser zu machen.

Wenn Du die Forumssuche benutzt, wirst du wahrscheinlich noch 500mal was finden.

Matthias hat dir auch noch was gezeigt.

Gruß
Björn B.


  

Betrifft: Danke -) von: walli
Geschrieben am: 19.11.2009 09:47:24

Hallo Björn u. Matthias,
danke für die Hilfe, werde es halt so betreiben wie Matthias
beschrieben hat, das geht schneller.
Eine Makroschleife wäre mir lieber gewesen, nun ja,
herzlichen Dank
mfg walli


  

Betrifft: AW: Danke -) von: Björn B.
Geschrieben am: 19.11.2009 10:40:17

Hallo,

habe die Zeile eingegeben, Fehlermeldung.

Dann ist genau das Dein Problem :-)

Ich weiß immer noch nicht, was diese Zeile soll, trotz einmal nachfragen 18.11. 17:12
was soll da denn für ne Zahl rauskommen?

zweimal nachfragen 18.11. 17:17
Was willst du überhaupt machen?
Jetzt frage ich also das dritte Mal (und auch das letzte Mal!!!).
Was soll diese Zeile bewirken? Was willst du machen?
Wieviele Zeilen soll durchlaufen werden?
Das weiß kein Mensch!!!

Schreib einfach mal zum Testen:
For i = 12 To 25

Statt Deinem nicht funktionierenden Konstrukt. Bei mir läuft das. Das liegt nur an der einen Zeile, was ich auch schon gestern geschrieben habe.
ICh verstehe Dein Problem nicht.
Aber du erklärst es ja auch nicht.

wie soll ich dir ne Schleife basteln, wenn ich nicht verstehe, was du machen willst?
Warum fängst du bei 12 an?

Wie gesagt, Deine Schleife ansich funktioniert, nur die Angabe des Endwertes stimmt nicht.
Da ich nicht weiß, wie Deine Tabelle aussieht, kann ich auch nicht sagen, was da passieren soll, oder?

Gruß
Björn


  

Betrifft: Vielleicht noch einmal .... von: walli
Geschrieben am: 19.11.2009 11:10:55

Hallo Björn,
deine Anfrage:
Was soll diese Zeile bewirken? Was willst du machen?
Aufgrund der der Nummer die dann erkannt wird, wird eine Zelle
daneben eine weitere Nummer per Makro gesucht u. eingesetzt, über
Makro:
( Private Sub Worksheet_Change(ByVal Target As Range) )

Wie gesagt, wenn ich den Button drücke klappt es, die nächste Zelle nach
unten wird selektiert, ich drücke Button u.s.w. .

Wieviele Zeilen soll durchlaufen werden?
Bis in der Spalte 9 die letzte Nummer vorhanden ist, ab Zeile 12.

Herzlichen Dank für die Info, hätte vielleicht doch vorher informieren sollen
was der Zweck un Sinn sollte,
sorry.

mfg walli


  

Betrifft: AW: Vielleicht noch einmal .... von: Björn B.
Geschrieben am: 19.11.2009 11:16:40

Hallo Walli,

Private Sub CommandButton1_Click()
Dim i As Long
   For i = 12 To 25
     ActiveCell.Select
     Application.SendKeys "{F2}"
     Application.SendKeys "{ENTER}"
   Next
End Sub
Dieser Code funktioniert bei mir.
Die Zellen werde einzeln durchlaufen.

Das ist Dein Code, nur ohne dieses komische Zeile.
Aber noch mal, wenn dir die Variable keinen Wert ausspuckt, dann kann die Schleife nicht funktionieren.

Gruß
Björn


  

Betrifft: Anfang u. Ende von: walli
Geschrieben am: 19.11.2009 13:02:26

Hey Björn,
bei mir klappt es ja auch,
DANKE.
Wie bekomme ich den jetzt automtisch die Anfang Spalt9 Zeile 12
und
das Ende hin in Spalte 9, also letzt belegt Zelle.

mfg walli


  

Betrifft: Geil, geht doch von: walli
Geschrieben am: 19.11.2009 11:19:43

Hallo Björn,
das klappt so:

For i = 12 To 25
ActiveCell.Select
Application.SendKeys "{F2}"
Application.SendKeys "{ENTER}"
Next

jetzt müßte ich nur noch Anfang u. ENDE einbauen,

mfg walli
'ActiveSheet.Cells(ActiveSheet.Rows.Count, 9).End(xlUp).Row


  

Betrifft: sag ich doch... von: Björn B.
Geschrieben am: 19.11.2009 11:34:22

Hallo,

das habe ich dir schon gestern gesagt.

Vielleicht noch ein Tipp.
Du gehst in Deinem Code über ActiveCell.
Du hast also keine StartZeile und EndZeile. Du startest immer an der gerade aktiven Zelle und gehst dann entsprechend oft nach unten.

Gruß
Björn B.


  

Betrifft: So geht es. von: Björn B.
Geschrieben am: 19.11.2009 13:57:52

Hallo,

so müsste es klappen.

Dim i As Long

  With ActiveSheet
    'Anfang Spalte 9 Zeile 12
    .Cells(12, 9).Select
        
    For i = 12 To .Cells(65536, 9).End(xlUp).Row
      ActiveCell.Select
      Application.SendKeys "{F2}"
      Application.SendKeys "{ENTER}"
    Next
       
   End With
Gruß
Björn B.


  

Betrifft: AW: So geht es. von: walli
Geschrieben am: 19.11.2009 18:13:35

Hallo Björn B.,
hatt mich nach deiner Info Muster gemeldet u. bedankt.
Ich weiß nicht WARUM dies nicht hier erscheint.
Herzlich DANK nochmals für die Geduld,
danke
mfg walli


Beiträge aus den Excel-Beispielen zum Thema "Schleife erstellen Wie"