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 sind; Die von diesem Forum gesetzten Cookies düfen nur auf dieser Website verwendet werden und stellen kein Sicherheitsrisiko dar. Cookies auf 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.

Die Updates sind abgeschlossen. Bitte meldet eventuelle Bugs und Auffälligkeiten im entsprechenden Forum.
Sollte das Loginfenster nicht sichtbar sein, ist es unten links. Entweder Ihr loggt Euch dort ein oder löscht den Browsercache und versucht es noch einmal.


Bereich auf Nullen überprüfen
#21
(16.05.2018, 19:12)Steffl schrieb: Hallo,

beim direkten Starten der Datei.Wie die Meldung gelautet hat, weiß ich jetzt nicht mehr weil jetzt geht es.

Hi Stefan,

kannst du mir eventuell sagen, wo die Fehlerquelle sich befindet, sodass ich es anpassen kann? Oder hast du eventuell eine andere Idee, wie ich da am Besten vorgehen soll?

Beste Grüsse
Bamane
Antwortento top
#22
Hallöchen,

nur mal ein Hinweis am Rande. Du hast schon With in Deinem Code, verwendest es abe rnicht konsequent.Hier mal ein Beispiel.

Code:
With wb2.Worksheets(i)
                 Worksheets(i).Select
                        lastrow2 = Cells(Cells.Rows.Count, "F").End(xlUp).Row
                    Set rng = Worksheets(i).Range("D40:F" & lastrow2 + lastrow2)
                    Set rng2 = Worksheets(i).Range("N40:AY" & lastrow2 + lastrow2)

konsequent wäre
Code:
With wb2.Worksheets(i)
                    lastrow2 = .Cells(Cells.Rows.Count, "F").End(xlUp).Row
                    Set rng = .Range("D40:F" & lastrow2 + lastrow2)
                    Set rng2 = .Range("N40:AY" & lastrow2 + lastrow2)
'usw.

Das Select kann hier weg und beachte in den folgenden 3 Zeilen den Punkt vor der Bereichsangabe.

Bei mir kommt übrigens ein Fehler bei

For j = 1 To UBound(sn)

weil sn leer ist. Da war ich eventuell beim Start des Makros auf einem falschen Blatt oder auch nicht, siehe Thema inkonsequente Nutzung von With und ebenso die Nutzung der Blattnamen oder der Indexnummer der Blätter.


Sheets(1)....
Worksheets(i)...
Worksheets("OVL")...
ActiveSheet...

Da muss man schon etwas suchen, um zu sehen, wo man ist :-( Für die meisten Actionen kann man, wie gesagt, With verwenden und braucht ein Blatt nicht zu aktivieren.
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
[-] Folgende(r) 1 Benutzer sagt Danke an schauan für diesen Beitrag:
  • Bamane
Antwortento top
#23
Hallo,

(18.05.2018, 15:16)Bamane schrieb: kannst du mir eventuell sagen, wo die Fehlerquelle sich befindet, sodass ich es anpassen kann? Oder hast du eventuell eine andere Idee, wie ich da am Besten vorgehen soll?

hast du es mal mit dem Orignalcode von snb versucht?
Gruß Stefan
Win 7 / Office 2007
Antwortento top
#24
(18.05.2018, 17:19)schauan schrieb: ....
Da muss man schon etwas suchen, um zu sehen, wo man ist :-( Für die meisten Actionen kann man, wie gesagt, With verwenden und braucht ein Blatt nicht zu aktivieren.

Hi  André,

vielen Dank für den Tipp. Das war mir als Anfänger nicht bewusst und ich werde es erstmal im Code ändern.

Gruss
Bamane
Antwortento top
#25
(18.05.2018, 18:16)Steffl schrieb: Hallo,

hast du es mal mit dem Orignalcode von snb versucht?

Hi Stefan,

den Originalcode von snb habe ich verwendet und möchte diesen auch Nutzen, weil mein Code viel zu langsam ist. Da kamen aber einige Fehlermeldungen, wozu ich mich auch vorher dazu geäußert habe. 

Gruß
Bamane
Antwortento top


Gehe zu:


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