Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1136to1140
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Schleifenfehler

Schleifenfehler
Tobias
okay dann schreib ich mein zwietes Problem mal al neuen thread rein.
Also ich habe eine schleife in meinem makro, welche ein tabellenblatt in eine neue arbeitsmappe kopiert und in das blatt soll dann ein makro geschrieben werden. Ab dem zweiten Blatt funktioniert das auch reibungslos.
Nur beim ersten vergisst er es. mache ich aber vor dem ausführen des makros VBA auf und drücke dann wieder den Knopf zum ausführen, ohne irgendwas im Makro zu machen, dann funktioniert es. wie kommt das?
Hier mein Code
Dim iTemp As Integer
Dim oBook As Workbook
Dim Auswertung As Integer
Application.ScreenUpdating = False
' Create a new blank workbook:
iTemp = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = 1
Set oBook = Application.Workbooks.Add
Application.SheetsInNewWorkbook = iTemp
' Add a defined name to the workbook
' that RefersTo a range:
oBook.Names.Add Name:="tempRange", _
RefersTo:="=Sheet1!$A$1"
' Save the workbook:
oBook.SaveAs (ThisWorkbook.Path & "\" & "Auswertung " & "MTC_" & ThisWorkbook.Worksheets("MasterTabelle - Modulauswertung").Cells(4, 4) & ".xls")
ThisWorkbook.Worksheets(Array("MasterTabelle - Modulauswertung", "Zusammenfassung")).Copy After:=oBook.Worksheets(Worksheets.Count)
' Copy the sheet in a loop. Eventually,
' you get error 1004: Copy Method of
' Worksheet class failed.
For Auswertung = 45 To 74
If ThisWorkbook.Worksheets("MasterTabelle - Modulauswertung").Cells(Auswertung, 2) = "" Then 'wenn letzte Seriennummer erreicht
GoTo Transport
End If
ThisWorkbook.Worksheets("1").Copy After:=oBook.Worksheets(Worksheets.Count)
Dim sCode As String
sCode = "'Tabellennamen umbenennen" & vbCrLf & _
"

Private Sub Worksheet_Activate()" & vbCrLf & _
vbTab & "ActiveSheet.Name = ActiveSheet.Range(""B3"").Text" & vbCrLf & _
"End Sub
"
ActiveWorkbook.VBProject.VBComponents(ActiveWorkbook.VBProject.VBComponents.Count).CodeModule.AddFromString sCode
ActiveWorkbook.Save
With ActiveSheet
.Range("B3").Formula = _
"=" & "'MasterTabelle - Modulauswertung'!" & .Cells(Auswertung, 2).Address(0, 0)
End With
With ActiveSheet
.Range("B2").Formula = _
"=" & "'MasterTabelle - Modulauswertung'!" & .Cells(4, 4).Address(0, 0)
End With
With ActiveSheet
.Range("H2").Formula = _
"=" & "'MasterTabelle - Modulauswertung'!" & .Cells(Auswertung, 6).Address(0, 0)
End With
With ActiveSheet
.Range("B110:M110").Copy
End With
BlattX = Auswertung - 36
Sheets("Zusammenfassung").Select
Sheets("Zusammenfassung").Range("D" & CStr(BlattX)).Select
ActiveSheet.Paste Link:=True
'Uncomment this code for the workaround:
'Save, close, and reopen after every 15 iterations:
If Auswertung Mod 15 = 0 Then
oBook.Close SaveChanges:=True
Set oBook = Nothing
Set oBook = Application.Workbooks.Open(ThisWorkbook.Path & "\" & "Auswertung " & "MTC_" & ThisWorkbook.Worksheets("MasterTabelle - Modulauswertung").Cells(4, 4) & ".xls")
End If
Next

Hoffe ihr könnt mir helfen

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Schleifenfehler
17.02.2010 14:49:38
Björn
Hallo,
bitte benutzte den Button "Zitat pre" um VBA-Code zu posten, dann kann man ihn auch lesen.
Also bevor wir uns das näher anschauen...
Was macht das "Private Sub Worksheet_Activate" mitten im Code?
Poste doch mal bitte die kpl. Prozedur.
Wie wird Code aufgerufen? Wo befindet sich Button? Welcher Code wird durch Button ausgeführt?
Gibt es den Button öfter (z.B. auf jedem Blatt)?
Gruß
Björn B.
AW: Schleifenfehler
17.02.2010 16:23:56
Tobias
okay am einfachsten ist ihr schaut euch das komplette teil an. alles andere ist zu kompliziert!
https://www.herber.de/bbs/user/68073.zip
entschuldigt bitte wenn nicht alles kommentiert wurde. :-)
Also wie gesagt, es enthält zwei bugs. einmal den hier beschriebenen und dann noch den SaveCopyAs-Fehler welchen ich im Forum beschrieben habe.
Zum bearbeiten des Blattes, auf Laufzettel bearbeiten klicken. (PW: 2468)
Anzeige
AW: Schleifenfehler
23.02.2010 16:07:38
Tobias
danke für eure NICHT-HILFE!
Hm, wie schaffe ich es, dass das hier ALLE LESEN?
23.02.2010 18:41:47
Björn
Hallo Tobias,
erst mal vielen Dank für Deine arrogante Bereicherung dieses Forums... NEE, war nicht ernst gemeint!
Eigentlich können wir hier sehr gut auf Leute wie Dich verzichten....
Dein letzter Beitrag ist eine absolute Unverschämtheit und mir bleibt da nur die Frage:
Was glaubst Du eigentlich, wer Du bist?
Meinst Du, Du bist etwas besseres als alle anderen hier?
Überlege Dir vielleicht mal, warum Dir keiner geantwortet hat...
Du kommst hier mit ner sehr dürftigen Beschreibung und einem ellenlangen Code.
Dann stelle ich dir mehrere Fragen, von denen Du im nächsten Beitrag keine einzige beantwortet hast!!!
Statt dessen schickst Du eine noch kompliziertere Datei mit zig Tabellen und Code. Wer soll sich da denn reinarbeiten?
Ich habe mir die Datei angesehen, aber nur kurz. Das liegt aber daran, dass meine Fragen nicht beantwortet wurden. Warum soll ich mir Zeit für Dich nehmen, wenn Du meine Fragen ignorierst?
Mal so ganz allgemein:
Das hier ist ein Forum. In einem Forum können Leute Fragen stellen, und wenn irgendjemand das liest und Lust hat zu antworten, dann macht er das. Oft hilft das, manchmal aber auch nicht.
Aber: In einem Forum hat keiner / niemand (also auch nicht Du!!!) das RECHT AUF EINE ANTWORT!!!
Deshalb ist es von Dir eine absolute Frechheit, alle Forumsteilnehmer auf einmal hier blöd von der Seite anzumachen.
Für Dich wäre vielleicht ein/e Auftragsprogrammierer/in genau das richtige. Da ganz Du Dein Problem gegen Bargeld lösen lassen, dann hast Du auch ein Recht drauf, was für Dein Geld zu bekommen!
Nachdem ich Deinen letzten Beitrag gelesen habe, bin ich richtig froh, dass ich mir nicht mehr Zeit für Dein Problem genommen habe.
Ich hoffe, dass das hier möglichst viele der Antworter lesen, dass jeder bei Deiner nächsten Frage gleich weiß, was Du für ein freundlicher und dankbarer Mensch bist.
Gute Besserung.
Björn B.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige