Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1616to1620
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

Fehler beim Kompilieren - Prozedur zu groß

Fehler beim Kompilieren - Prozedur zu groß
07.04.2018 15:10:46
Claus
Hallo,
ich habe da ein kleines Problem beim Kompilieren. So wie es aussieht ist die von mir geschriebene Prozedur zu groß.
Anbei habe ich ein Zip-File mit der Prozedur. So wie sie dort geschrieben ist, fkt sie gut. Allerdings muss ich diese "Programierung" noch eitere 70 mal duplizieren -und das verursacht den oben genannten Fehler.
Könnt ihr mir bitte helfen die Programierung so umzuschreiben das ich sie für min. 70 Startnummern (Zeilen) verwenden kann.
https://www.herber.de/bbs/user/120914.zip
Danke
Claus

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler beim Kompilieren - Prozedur zu groß
07.04.2018 15:16:03
Hajo_Zi
Hallo Claus,
warum keine Excel Datei? Warum Zip?

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: Fehler beim Kompilieren - Prozedur zu groß
07.04.2018 15:24:29
Claus
Hallo Hajo,
dachte, aufgrund verschiedener Beiträge (Archiv), Anhänge wären im Zip-Format gewünscht.
Ohne Zip ist es vielleicht zu groß?
Gruß
Claus
AW: Fehler beim Kompilieren - Prozedur zu groß
07.04.2018 15:34:20
Claus
Hallo Hajo,
anbei meine Programierung:
Sub RueberSAM()
'Daten von AB_SAM in DatenSAM
Application.ScreenUpdating = False
Dim i As Integer
For i = 1 To 100
'Start Nummer 1
'WP1
If Sheets("DatenSAM").Range("A" & i) = Sheets("Arbeitsblatt_SAM").Range("A7") Then _
Sheets("DatenSAM").Range("GP" & i) = Sheets("Arbeitsblatt_SAM").Range("W5")
If Sheets("DatenSAM").Range("A" & i) = Sheets("Arbeitsblatt_SAM").Range("A7") Then _
Sheets("DatenSAM").Range("GQ" & i) = Sheets("Arbeitsblatt_SAM").Range("W7")
If Sheets("DatenSAM").Range("A" & i) = Sheets("Arbeitsblatt_SAM").Range("A7") Then _
Sheets("DatenSAM").Range("GR" & i) = Sheets("Arbeitsblatt_SAM").Range("X7")
If Sheets("DatenSAM").Range("A" & i) = Sheets("Arbeitsblatt_SAM").Range("A7") Then _
Sheets("DatenSAM").Range("GS" & i) = Sheets("Arbeitsblatt_SAM").Range("Y7")
If Sheets("DatenSAM").Range("A" & i) = Sheets("Arbeitsblatt_SAM").Range("A7") Then _
Sheets("DatenSAM").Range("GT" & i) = Sheets("Arbeitsblatt_SAM").Range("Z7")
If Sheets("DatenSAM").Range("A" & i) = Sheets("Arbeitsblatt_SAM").Range("A7") Then _
Sheets("DatenSAM").Range("GU" & i) = Sheets("Arbeitsblatt_SAM").Range("E7")
End Sub
Diesen Block habe ich noch weitere 11 mal geschrieben. Somit habe ich für eine Startnummer 12 DatenBlöcke. Bis hierhin geht auch alles ohne Probleme.
Ich brauche diese 12 DatenBlöcke jedoch für min. 70 weitere Startnummern.
Und das verursacht besagte Probleme.
Kannst du helfen?
Gruß
Claus
Anzeige
AW: Fehler beim Kompilieren - Prozedur zu groß
07.04.2018 15:42:33
Zwenn
Hallo Claus,
Du verwendest die If Then Zeile für jede einzelne Zeile Code. Das ist nicht notwendig. Es ist doch immer die gleiche Bedingung, die erfüllt sein soll. Also brauchst Du die ganze If Sache nur ein einziges mal. Weiterhion hast Du eine For-Schleife eröffnet, die 100 mal durchlaufen soll. Sie läuft aber nur einmal, denn Du hast das schließende Next i vergessen.
Ich weiß nicht, ob es dass schon ist, was Du suchst, aber so wird Dein Code nun 100 mal durchlaufen und zählt dabei für i von 1 im ersten Durchlauf bis 100 im letzten Durchlauf. Vielleicht könnte man auch die restlichen Zeilen noch vereinfachen bzw. mehr zusammenfassen. Aber das habe ich jetzt nicht genauer untersucht:

Sub RueberSAM()
'Daten von AB_SAM in DatenSAM
Dim i As Integer
Application.ScreenUpdating = False
For i = 1 To 100
'StNr1
If Sheets("DatenSAM").Range("A" & i) = Sheets("Arbeitsblatt_SAM").Range("A7") Then
'WP1
Sheets("DatenSAM").Range("GP" & i) = Sheets("Arbeitsblatt_SAM").Range("W5")
Sheets("DatenSAM").Range("GQ" & i) = Sheets("Arbeitsblatt_SAM").Range("W7")
Sheets("DatenSAM").Range("GR" & i) = Sheets("Arbeitsblatt_SAM").Range("X7")
Sheets("DatenSAM").Range("GS" & i) = Sheets("Arbeitsblatt_SAM").Range("Y7")
Sheets("DatenSAM").Range("GT" & i) = Sheets("Arbeitsblatt_SAM").Range("Z7")
Sheets("DatenSAM").Range("GU" & i) = Sheets("Arbeitsblatt_SAM").Range("E7")
'WP2
Sheets("DatenSAM").Range("GV" & i) = Sheets("Arbeitsblatt_SAM").Range("AA5")
Sheets("DatenSAM").Range("GW" & i) = Sheets("Arbeitsblatt_SAM").Range("AA7")
Sheets("DatenSAM").Range("GX" & i) = Sheets("Arbeitsblatt_SAM").Range("AB7")
Sheets("DatenSAM").Range("GY" & i) = Sheets("Arbeitsblatt_SAM").Range("AC7")
Sheets("DatenSAM").Range("GZ" & i) = Sheets("Arbeitsblatt_SAM").Range("AD7")
Sheets("DatenSAM").Range("HA" & i) = Sheets("Arbeitsblatt_SAM").Range("F7")
'WP3
Sheets("DatenSAM").Range("HB" & i) = Sheets("Arbeitsblatt_SAM").Range("AE5")
Sheets("DatenSAM").Range("HC" & i) = Sheets("Arbeitsblatt_SAM").Range("AE7")
Sheets("DatenSAM").Range("HD" & i) = Sheets("Arbeitsblatt_SAM").Range("AF7")
Sheets("DatenSAM").Range("HE" & i) = Sheets("Arbeitsblatt_SAM").Range("AG7")
Sheets("DatenSAM").Range("HF" & i) = Sheets("Arbeitsblatt_SAM").Range("AH7")
Sheets("DatenSAM").Range("HG" & i) = Sheets("Arbeitsblatt_SAM").Range("G7")
'WP4
Sheets("DatenSAM").Range("HH" & i) = Sheets("Arbeitsblatt_SAM").Range("AI5")
Sheets("DatenSAM").Range("HI" & i) = Sheets("Arbeitsblatt_SAM").Range("AI7")
Sheets("DatenSAM").Range("HJ" & i) = Sheets("Arbeitsblatt_SAM").Range("AJ7")
Sheets("DatenSAM").Range("HK" & i) = Sheets("Arbeitsblatt_SAM").Range("AK7")
Sheets("DatenSAM").Range("HL" & i) = Sheets("Arbeitsblatt_SAM").Range("AL7")
Sheets("DatenSAM").Range("HM" & i) = Sheets("Arbeitsblatt_SAM").Range("H7")
'WP5
Sheets("DatenSAM").Range("HN" & i) = Sheets("Arbeitsblatt_SAM").Range("AM5")
Sheets("DatenSAM").Range("HO" & i) = Sheets("Arbeitsblatt_SAM").Range("AM7")
Sheets("DatenSAM").Range("HP" & i) = Sheets("Arbeitsblatt_SAM").Range("AN7")
Sheets("DatenSAM").Range("HQ" & i) = Sheets("Arbeitsblatt_SAM").Range("AO7")
Sheets("DatenSAM").Range("HR" & i) = Sheets("Arbeitsblatt_SAM").Range("AP7")
Sheets("DatenSAM").Range("HS" & i) = Sheets("Arbeitsblatt_SAM").Range("I7")
'WP6
Sheets("DatenSAM").Range("HT" & i) = Sheets("Arbeitsblatt_SAM").Range("AQ5")
Sheets("DatenSAM").Range("HU" & i) = Sheets("Arbeitsblatt_SAM").Range("AQ7")
Sheets("DatenSAM").Range("HV" & i) = Sheets("Arbeitsblatt_SAM").Range("AR7")
Sheets("DatenSAM").Range("HW" & i) = Sheets("Arbeitsblatt_SAM").Range("AS7")
Sheets("DatenSAM").Range("HX" & i) = Sheets("Arbeitsblatt_SAM").Range("AT7")
Sheets("DatenSAM").Range("HY" & i) = Sheets("Arbeitsblatt_SAM").Range("J7")
'WP7
Sheets("DatenSAM").Range("HZ" & i) = Sheets("Arbeitsblatt_SAM").Range("AU5")
Sheets("DatenSAM").Range("IA" & i) = Sheets("Arbeitsblatt_SAM").Range("AU7")
Sheets("DatenSAM").Range("IB" & i) = Sheets("Arbeitsblatt_SAM").Range("AV7")
Sheets("DatenSAM").Range("IC" & i) = Sheets("Arbeitsblatt_SAM").Range("AW7")
Sheets("DatenSAM").Range("ID" & i) = Sheets("Arbeitsblatt_SAM").Range("AX7")
Sheets("DatenSAM").Range("IE" & i) = Sheets("Arbeitsblatt_SAM").Range("K7")
'WP8
Sheets("DatenSAM").Range("IF" & i) = Sheets("Arbeitsblatt_SAM").Range("AY5")
Sheets("DatenSAM").Range("IG" & i) = Sheets("Arbeitsblatt_SAM").Range("AY7")
Sheets("DatenSAM").Range("IH" & i) = Sheets("Arbeitsblatt_SAM").Range("AZ7")
Sheets("DatenSAM").Range("II" & i) = Sheets("Arbeitsblatt_SAM").Range("BA7")
Sheets("DatenSAM").Range("IJ" & i) = Sheets("Arbeitsblatt_SAM").Range("BB7")
Sheets("DatenSAM").Range("IK" & i) = Sheets("Arbeitsblatt_SAM").Range("L7")
'SZ9
Sheets("DatenSAM").Range("IL" & i) = Sheets("Arbeitsblatt_SAM").Range("BC5")
Sheets("DatenSAM").Range("IM" & i) = Sheets("Arbeitsblatt_SAM").Range("BC7")
Sheets("DatenSAM").Range("IN" & i) = Sheets("Arbeitsblatt_SAM").Range("BD7")
Sheets("DatenSAM").Range("IO" & i) = Sheets("Arbeitsblatt_SAM").Range("BE7")
Sheets("DatenSAM").Range("IP" & i) = Sheets("Arbeitsblatt_SAM").Range("BF7")
Sheets("DatenSAM").Range("IQ" & i) = Sheets("Arbeitsblatt_SAM").Range("M7")
'SZ10
Sheets("DatenSAM").Range("IR" & i) = Sheets("Arbeitsblatt_SAM").Range("BG5")
Sheets("DatenSAM").Range("IS" & i) = Sheets("Arbeitsblatt_SAM").Range("BG7")
Sheets("DatenSAM").Range("IT" & i) = Sheets("Arbeitsblatt_SAM").Range("BH7")
Sheets("DatenSAM").Range("IU" & i) = Sheets("Arbeitsblatt_SAM").Range("BI7")
Sheets("DatenSAM").Range("IV" & i) = Sheets("Arbeitsblatt_SAM").Range("BJ7")
Sheets("DatenSAM").Range("IW" & i) = Sheets("Arbeitsblatt_SAM").Range("N7")
'SZ11
Sheets("DatenSAM").Range("IX" & i) = Sheets("Arbeitsblatt_SAM").Range("BK5")
Sheets("DatenSAM").Range("IY" & i) = Sheets("Arbeitsblatt_SAM").Range("BK7")
Sheets("DatenSAM").Range("IZ" & i) = Sheets("Arbeitsblatt_SAM").Range("BL7")
Sheets("DatenSAM").Range("JA" & i) = Sheets("Arbeitsblatt_SAM").Range("BM7")
Sheets("DatenSAM").Range("JB" & i) = Sheets("Arbeitsblatt_SAM").Range("BN7")
Sheets("DatenSAM").Range("JC" & i) = Sheets("Arbeitsblatt_SAM").Range("O7")
'SZ12
Sheets("DatenSAM").Range("JD" & i) = Sheets("Arbeitsblatt_SAM").Range("BO5")
Sheets("DatenSAM").Range("JE" & i) = Sheets("Arbeitsblatt_SAM").Range("BO7")
Sheets("DatenSAM").Range("JF" & i) = Sheets("Arbeitsblatt_SAM").Range("BP7")
Sheets("DatenSAM").Range("JG" & i) = Sheets("Arbeitsblatt_SAM").Range("BQ7")
Sheets("DatenSAM").Range("JH" & i) = Sheets("Arbeitsblatt_SAM").Range("BR7")
Sheets("DatenSAM").Range("JI" & i) = Sheets("Arbeitsblatt_SAM").Range("P7")
'SP
Sheets("DatenSAM").Range("JJ" & i) = Sheets("Arbeitsblatt_SAM").Range("BS5")
Sheets("DatenSAM").Range("JK" & i) = Sheets("Arbeitsblatt_SAM").Range("BS7")
Sheets("DatenSAM").Range("JL" & i) = Sheets("Arbeitsblatt_SAM").Range("BT7")
Sheets("DatenSAM").Range("JM" & i) = Sheets("Arbeitsblatt_SAM").Range("Q7")
'BK
Sheets("DatenSAM").Range("JN" & i) = Sheets("Arbeitsblatt_SAM").Range("BU7")
Sheets("DatenSAM").Range("JO" & i) = Sheets("Arbeitsblatt_SAM").Range("BV7")
Sheets("DatenSAM").Range("JP" & i) = Sheets("Arbeitsblatt_SAM").Range("BW7")
Sheets("DatenSAM").Range("JQ" & i) = Sheets("Arbeitsblatt_SAM").Range("R7")
'Gesamt Pkt
Sheets("DatenSAM").Range("JR" & i) = Sheets("Arbeitsblatt_SAM").Range("T7")
End If
Next i
Application.ScreenUpdating = True
End Sub
Viele Grüße,
Zwenn
Anzeige
AW: Fehler beim Kompilieren - Prozedur zu groß
07.04.2018 15:59:17
Claus
Hi Zwenn,
danke für die Hilfe - aber es ist noch nicht gelöst mein Problem. Ich habe deinen Vorschlag übernommen und es auf 10 DatenBlöcke übertragen und die Fehler Meldung (Prozedur zu groß) ist immer noch da.
Gruß
Claus
AW: Fehler beim Kompilieren - Prozedur zu groß
07.04.2018 16:04:24
Zwenn
Hallo Claus,
dann lade mal bitte eine Beispielmappe hoch. So ist nicht nachzuvollziehen, was Du möchtest, bzw, was denn eine Startnummer ist. Man kann um den bestehenden Code natürlich noch eine weitere Schleife legen. Das wäre jetzt aber Gestocher im Nebel.
Du musst kein ZIP hochladen und bitte auch nicht nur den Inhalt eines Moduls. Lade eine XLSM Datei hoch. Aus der sollte hervorgehen, was die Ausgangssituation ist und wie Du das Ergebnis haben willst. In Deinem Fall also z.B. eine Datenbasis und das Ergebnis für 3 Startnummern. Dazu Deinen bisherigen Code in der Arbeitsmappe belassen.
Viele Grüße,
Zwenn
Anzeige
AW: Fehler beim Kompilieren - Prozedur zu groß
07.04.2018 16:49:00
Claus
Hi Zwenn,
ich habe die Datei auf ein min. beschränkt, aber sie ist immer noch zu groß zum hochladen. (1980KB statt erlaubten 300KB)
-mnpf-
LG
Claus
AW: Fehler beim Kompilieren - Prozedur zu groß
07.04.2018 17:02:02
Zwenn
Ok,
schick mir das Teil mal zu. Aber ich kann nix versprechen.
zwenn_glueckspilz@gmx.de
Gruß,
Zwenn
AW: Fehler beim Kompilieren - Prozedur zu groß
07.04.2018 17:12:36
Luschi
Hallo Claus,
mein Code sieht so aus:

Sub RueberSAM()
'Daten von AB_SAM in DatenSAM
Dim ws As Worksheet
Dim i As Integer, j As Integer, _
spS As String, spArr As Variant, spZ As Integer
Dim x1 As String, x2 As String
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
spS = "GP~W5,GQ~W7,GR~X7,GS~Y7,GT~Z7,GU~E7," & _
"GV~AA5,GW~AA7,CW~AB7,GY~AC7,GZ~AD7,HA~F7," & _
"HB,HC,HD,HE,HF,HG," & _
"HH,HI,HJ,HK,HL,HM," & "HN,HO,HP,HQ,HR,HS," & "HT,HU,HV,HW,HX,HY," & _
"HZ,IA,IB,IC,ID,IE," & "IF,IG,IH,II,IJ,IK," & "IL,IM,IN,IO,IP,IQ," & _
"IR,IS,IT,IU,IV,IW," & "IX,IY,IZ,JA,JB,JC," & "JD,JE,JF,JG,JH,JI," & _
"JJ,JK,JL,JM,JN,JO," & "IF,IG,IH,II,IJ,IK," & "JL,JM,JN,JO,JP,JQ," & _
"JR"
spArr = Split(spS, ",", -1, vbTextCompare)
With Sheets("DatenSAM")
If Sheets("DatenSAM").Range("A1").Value = Sheets("Arbeitsblatt_SAM").Range("A7") Then
For spZ = LBound(spArr) To UBound(spArr)
x1 = Split(spArr(spZ), "~", -1, vbTextCompare)(0)
x2 = Split(spArr(spZ), "~", -1, vbTextCompare)(1)
.Range(x1 & "1:" & x1 & 100).Value = Sheets("Arbeitsblatt_SAM").Range(x2).Value
Next spZ
End If
End With
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
End Sub
Du mußt nur die Variable 'spS' vervollständigen:
statt: "HB,HC,HD,HE,HF,HG,"
so:    "HB~AE5,HC~AE7,HD~AF7,HE~AG7,HF~AH7,HG~G7," usw.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Fehler beim Kompilieren - Prozedur zu groß
07.04.2018 17:22:51
Gerd
Moin,
bezweifle allerdings, dass der Code von Zwenn zu groß ist.


Sub RueberSAM()
'Daten von AB_SAM in DatenSAM
Dim i As Long, offs As Long
Dim Q As Worksheet, Z As Worksheet
Set Q = Sheets("DatenSAM"): Set Z = Sheets("Arbeitsblatt_SAM")
Application.ScreenUpdating = False
For i = 1 To 100
'StNr1
If Z.Cells(i, 1) = Q.Range("A7") Then
'WP1- 'SZ12
For offs = 0 To 11
Z.Cells(i, 198).Offset(0, (offs * 6)) = Q.Range("W5").Offset(0, offs * 6)
Z.Cells(i, 199).Resize(1, 4).Offset(0, offs * 6) = Q.Range("W7:Z7").Offset(0, offs * 6)
Z.Cells(i, 203).Offset(0, offs * 6) = Q.Range("E7").Offset(0, offs * 6)
Next
'SP
Z.Range("JJ" & i) = Q.Range("BS5")
Z.Range("JK" & i) = Q.Range("BS7")
Z.Range("JL" & i) = Q.Range("BT7")
Z.Range("JM" & i) = Q.Range("Q7")
'BK
Z.Range("JN" & i) = Q.Range("BU7")
Z.Range("JO" & i) = Q.Range("BV7")
Z.Range("JP" & i) = Q.Range("BW7")
Z.Range("JQ" & i) = Q.Range("R7")
'Gesamt Pkt
Z.Range("JR" & i) = Q.Range("T7")
End If
Next i
Set Q = Nothing: Set Z = Nothing
Application.ScreenUpdating = True
End Sub

Gruß Gerd
Anzeige
AW: Fehler beim Kompilieren - Prozedur zu groß
07.04.2018 17:41:28
Claus
Hallo Luschi,
danke für deine Antwort - aber leider reichen meine Kenntnisse in VBA nicht aus um es umzusetzen.
Schade - aber Danke der Mühe.
LG Claus
AW: Fehler beim Kompilieren - Prozedur zu groß
07.04.2018 17:43:41
Claus
Hallo Gerd,
deine Idee habe ich genommen und wie folgt eingesetzt.
Sub RueberSAM()
'Daten von AB_SAM in DatenSAM
Dim i As Long, offs As Long
Dim Q As Worksheet, Z As Worksheet
Set Q = Sheets("DatenSAM"): Set Z = Sheets("Arbeitsblatt_SAM")
Application.ScreenUpdating = False
For i = 1 To 100
'StNr1
If Z.Cells(i, 1) = Q.Range("A7") Then
'WP1- 'SZ12
For offs = 0 To 11
Z.Cells(i, 198).Offset(0, (offs * 6)) = Q.Range("W5").Offset(0, offs * 6)
Z.Cells(i, 199).Resize(1, 4).Offset(0, offs * 6) = Q.Range("W7:Z7").Offset(0, offs * 6)
Z.Cells(i, 203).Offset(0, offs * 6) = Q.Range("E7").Offset(0, offs * 6)
Next
'SP
Z.Range("JJ" & i) = Q.Range("BS5")
Z.Range("JK" & i) = Q.Range("BS7")
Z.Range("JL" & i) = Q.Range("BT7")
Z.Range("JM" & i) = Q.Range("Q7")
'BK
Z.Range("JN" & i) = Q.Range("BU7")
Z.Range("JO" & i) = Q.Range("BV7")
Z.Range("JP" & i) = Q.Range("BW7")
Z.Range("JQ" & i) = Q.Range("R7")
'Gesamt Pkt
Z.Range("JR" & i) = Q.Range("T7")
End If
'StNr2
If Z.Cells(i, 1) = Q.Range("A8") Then
'WP1- 'SZ12
For offs = 0 To 11
Z.Cells(i, 198).Offset(0, (offs * 6)) = Q.Range("W5").Offset(0, offs * 6)
Z.Cells(i, 199).Resize(1, 4).Offset(0, offs * 6) = Q.Range("W8:Z8").Offset(0, offs * 6)
Z.Cells(i, 203).Offset(0, offs * 6) = Q.Range("E8").Offset(0, offs * 6)
Next
'SP
Z.Range("JJ" & i) = Q.Range("BS5")
Z.Range("JK" & i) = Q.Range("BS8")
Z.Range("JL" & i) = Q.Range("BT8")
Z.Range("JM" & i) = Q.Range("Q8")
'BK
Z.Range("JN" & i) = Q.Range("BU8")
Z.Range("JO" & i) = Q.Range("BV8")
Z.Range("JP" & i) = Q.Range("BW8")
Z.Range("JQ" & i) = Q.Range("R8")
'Gesamt Pkt
Z.Range("JR" & i) = Q.Range("T8")
End If
'StNr3
If Z.Cells(i, 1) = Q.Range("A9") Then
'WP1- 'SZ12
For offs = 0 To 11
Z.Cells(i, 198).Offset(0, (offs * 6)) = Q.Range("W5").Offset(0, offs * 6)
Z.Cells(i, 199).Resize(1, 4).Offset(0, offs * 6) = Q.Range("W9:Z9").Offset(0, offs * 6)
Z.Cells(i, 203).Offset(0, offs * 6) = Q.Range("E9").Offset(0, offs * 6)
Next
'SP
Z.Range("JJ" & i) = Q.Range("BS5")
Z.Range("JK" & i) = Q.Range("BS9")
Z.Range("JL" & i) = Q.Range("BT9")
Z.Range("JM" & i) = Q.Range("Q9")
'BK
Z.Range("JN" & i) = Q.Range("BU9")
Z.Range("JO" & i) = Q.Range("BV9")
Z.Range("JP" & i) = Q.Range("BW9")
Z.Range("JQ" & i) = Q.Range("R9")
'Gesamt Pkt
Z.Range("JR" & i) = Q.Range("T9")
End If
'StNr4
If Z.Cells(i, 1) = Q.Range("A10") Then
'WP1- 'SZ12
For offs = 0 To 11
Z.Cells(i, 198).Offset(0, (offs * 6)) = Q.Range("W5").Offset(0, offs * 6)
Z.Cells(i, 199).Resize(1, 4).Offset(0, offs * 6) = Q.Range("W10:Z10").Offset(0, offs * 6)
Z.Cells(i, 203).Offset(0, offs * 6) = Q.Range("E10").Offset(0, offs * 6)
Next
'SP
Z.Range("JJ" & i) = Q.Range("BS5")
Z.Range("JK" & i) = Q.Range("BS10")
Z.Range("JL" & i) = Q.Range("BT10")
Z.Range("JM" & i) = Q.Range("Q10")
'BK
Z.Range("JN" & i) = Q.Range("BU10")
Z.Range("JO" & i) = Q.Range("BV10")
Z.Range("JP" & i) = Q.Range("BW10")
Z.Range("JQ" & i) = Q.Range("R10")
'Gesamt Pkt
Z.Range("JR" & i) = Q.Range("T10")
End If
'StNr5
If Z.Cells(i, 1) = Q.Range("A11") Then
'WP1- 'SZ12
For offs = 0 To 11
Z.Cells(i, 198).Offset(0, (offs * 6)) = Q.Range("W5").Offset(0, offs * 6)
Z.Cells(i, 199).Resize(1, 4).Offset(0, offs * 6) = Q.Range("W11:Z11").Offset(0, offs * 6)
Z.Cells(i, 203).Offset(0, offs * 6) = Q.Range("E11").Offset(0, offs * 6)
Next
'SP
Z.Range("JJ" & i) = Q.Range("BS5")
Z.Range("JK" & i) = Q.Range("BS11")
Z.Range("JL" & i) = Q.Range("BT11")
Z.Range("JM" & i) = Q.Range("Q11")
'BK
Z.Range("JN" & i) = Q.Range("BU11")
Z.Range("JO" & i) = Q.Range("BV11")
Z.Range("JP" & i) = Q.Range("BW11")
Z.Range("JQ" & i) = Q.Range("R11")
'Gesamt Pkt
Z.Range("JR" & i) = Q.Range("T11")
End If
'StNr6
If Z.Cells(i, 1) = Q.Range("A12") Then
'WP1- 'SZ12
For offs = 0 To 11
Z.Cells(i, 198).Offset(0, (offs * 6)) = Q.Range("W5").Offset(0, offs * 6)
Z.Cells(i, 199).Resize(1, 4).Offset(0, offs * 6) = Q.Range("W12:Z12").Offset(0, offs * 6)
Z.Cells(i, 203).Offset(0, offs * 6) = Q.Range("E12").Offset(0, offs * 6)
Next
'SP
Z.Range("JJ" & i) = Q.Range("BS5")
Z.Range("JK" & i) = Q.Range("BS12")
Z.Range("JL" & i) = Q.Range("BT12")
Z.Range("JM" & i) = Q.Range("Q12")
'BK
Z.Range("JN" & i) = Q.Range("BU12")
Z.Range("JO" & i) = Q.Range("BV12")
Z.Range("JP" & i) = Q.Range("BW12")
Z.Range("JQ" & i) = Q.Range("R12")
'Gesamt Pkt
Z.Range("JR" & i) = Q.Range("T12")
End If
'StNr7
If Z.Cells(i, 1) = Q.Range("A13") Then
'WP1- 'SZ12
For offs = 0 To 11
Z.Cells(i, 198).Offset(0, (offs * 6)) = Q.Range("W5").Offset(0, offs * 6)
Z.Cells(i, 199).Resize(1, 4).Offset(0, offs * 6) = Q.Range("W13:Z13").Offset(0, offs * 6)
Z.Cells(i, 203).Offset(0, offs * 6) = Q.Range("E13").Offset(0, offs * 6)
Next
'SP
Z.Range("JJ" & i) = Q.Range("BS5")
Z.Range("JK" & i) = Q.Range("BS13")
Z.Range("JL" & i) = Q.Range("BT13")
Z.Range("JM" & i) = Q.Range("Q13")
'BK
Z.Range("JN" & i) = Q.Range("BU13")
Z.Range("JO" & i) = Q.Range("BV13")
Z.Range("JP" & i) = Q.Range("BW13")
Z.Range("JQ" & i) = Q.Range("R13")
'Gesamt Pkt
Z.Range("JR" & i) = Q.Range("T13")
End If
'StNr8
If Z.Cells(i, 1) = Q.Range("A14") Then
'WP1- 'SZ12
For offs = 0 To 11
Z.Cells(i, 198).Offset(0, (offs * 6)) = Q.Range("W5").Offset(0, offs * 6)
Z.Cells(i, 199).Resize(1, 4).Offset(0, offs * 6) = Q.Range("W14:Z14").Offset(0, offs * 6)
Z.Cells(i, 203).Offset(0, offs * 6) = Q.Range("E14").Offset(0, offs * 6)
Next
'SP
Z.Range("JJ" & i) = Q.Range("BS5")
Z.Range("JK" & i) = Q.Range("BS14")
Z.Range("JL" & i) = Q.Range("BT14")
Z.Range("JM" & i) = Q.Range("Q14")
'BK
Z.Range("JN" & i) = Q.Range("BU14")
Z.Range("JO" & i) = Q.Range("BV14")
Z.Range("JP" & i) = Q.Range("BW14")
Z.Range("JQ" & i) = Q.Range("R14")
'Gesamt Pkt
Z.Range("JR" & i) = Q.Range("T14")
End If
'StNr9
If Z.Cells(i, 1) = Q.Range("A15") Then
'WP1- 'SZ12
For offs = 0 To 11
Z.Cells(i, 198).Offset(0, (offs * 6)) = Q.Range("W5").Offset(0, offs * 6)
Z.Cells(i, 199).Resize(1, 4).Offset(0, offs * 6) = Q.Range("W15:Z15").Offset(0, offs * 6)
Z.Cells(i, 203).Offset(0, offs * 6) = Q.Range("E15").Offset(0, offs * 6)
Next
'SP
Z.Range("JJ" & i) = Q.Range("BS5")
Z.Range("JK" & i) = Q.Range("BS15")
Z.Range("JL" & i) = Q.Range("BT15")
Z.Range("JM" & i) = Q.Range("Q15")
'BK
Z.Range("JN" & i) = Q.Range("BU15")
Z.Range("JO" & i) = Q.Range("BV15")
Z.Range("JP" & i) = Q.Range("BW15")
Z.Range("JQ" & i) = Q.Range("R15")
'Gesamt Pkt
Z.Range("JR" & i) = Q.Range("T15")
End If
'StNr10
If Z.Cells(i, 1) = Q.Range("A16") Then
'WP1- 'SZ12
For offs = 0 To 11
Z.Cells(i, 198).Offset(0, (offs * 6)) = Q.Range("W5").Offset(0, offs * 6)
Z.Cells(i, 199).Resize(1, 4).Offset(0, offs * 6) = Q.Range("W16:Z16").Offset(0, offs * 6)
Z.Cells(i, 203).Offset(0, offs * 6) = Q.Range("E16").Offset(0, offs * 6)
Next
'SP
Z.Range("JJ" & i) = Q.Range("BS5")
Z.Range("JK" & i) = Q.Range("BS16")
Z.Range("JL" & i) = Q.Range("BT16")
Z.Range("JM" & i) = Q.Range("Q16")
'BK
Z.Range("JN" & i) = Q.Range("BU16")
Z.Range("JO" & i) = Q.Range("BV16")
Z.Range("JP" & i) = Q.Range("BW16")
Z.Range("JQ" & i) = Q.Range("R16")
'Gesamt Pkt
Z.Range("JR" & i) = Q.Range("T16")
End If
Next i
Set Q = Nothing: Set Z = Nothing
Application.ScreenUpdating = True
End Sub

Aber es funktioniert nicht - wahrscheinlich habe ich beim Transfer einen Fehler gemacht.
LG
Claus
Anzeige
AW: Fehler beim Kompilieren - Prozedur zu groß
07.04.2018 17:57:58
Zwenn
Hallo zusammen,
das Problem war, dass Claus den ganzen Codeblock 70x untereinander kopieren wollte. Ich habe ihm das nun auf die Schnelle so umgebaut:
(Wobei i vermutlich eher dynamisch gehalten werden muss. Das ganze Projekt besteht aus mehreren, teilweise eher komplexen Tabellen und relativ viel Code.)

Sub RueberSAM()
'Daten von AB_SAM in DatenSAM
Dim j As Integer
Dim i As Integer
Application.ScreenUpdating = False
For j = 7 To 76
For i = 1 To 100
'StartNr1
If Sheets("DatenSAM").Range("A" & i) = Sheets("Arbeitsblatt_SAM").Range("A" & j)  _
Then
'WP1
Sheets("DatenSAM").Range("GP" & i) = Sheets("Arbeitsblatt_SAM").Range("W5")
Sheets("DatenSAM").Range("GQ" & i) = Sheets("Arbeitsblatt_SAM").Range("W" & j)
Sheets("DatenSAM").Range("GR" & i) = Sheets("Arbeitsblatt_SAM").Range("X" & j)
Sheets("DatenSAM").Range("GS" & i) = Sheets("Arbeitsblatt_SAM").Range("Y" & j)
Sheets("DatenSAM").Range("GT" & i) = Sheets("Arbeitsblatt_SAM").Range("Z" & j)
Sheets("DatenSAM").Range("GU" & i) = Sheets("Arbeitsblatt_SAM").Range("E" & j)
'WP2
Sheets("DatenSAM").Range("GV" & i) = Sheets("Arbeitsblatt_SAM").Range("AA5")
Sheets("DatenSAM").Range("GW" & i) = Sheets("Arbeitsblatt_SAM").Range("AA" & j)
Sheets("DatenSAM").Range("GX" & i) = Sheets("Arbeitsblatt_SAM").Range("AB" & j)
Sheets("DatenSAM").Range("GY" & i) = Sheets("Arbeitsblatt_SAM").Range("AC" & j)
Sheets("DatenSAM").Range("GZ" & i) = Sheets("Arbeitsblatt_SAM").Range("AD" & j)
Sheets("DatenSAM").Range("HA" & i) = Sheets("Arbeitsblatt_SAM").Range("F" & j)
'WP3
Sheets("DatenSAM").Range("HB" & i) = Sheets("Arbeitsblatt_SAM").Range("AE5")
Sheets("DatenSAM").Range("HC" & i) = Sheets("Arbeitsblatt_SAM").Range("AE" & j)
Sheets("DatenSAM").Range("HD" & i) = Sheets("Arbeitsblatt_SAM").Range("AF" & j)
Sheets("DatenSAM").Range("HE" & i) = Sheets("Arbeitsblatt_SAM").Range("AG" & j)
Sheets("DatenSAM").Range("HF" & i) = Sheets("Arbeitsblatt_SAM").Range("AH" & j)
Sheets("DatenSAM").Range("HG" & i) = Sheets("Arbeitsblatt_SAM").Range("G" & j)
'WP4
Sheets("DatenSAM").Range("HH" & i) = Sheets("Arbeitsblatt_SAM").Range("AI5")
Sheets("DatenSAM").Range("HI" & i) = Sheets("Arbeitsblatt_SAM").Range("AI" & j)
Sheets("DatenSAM").Range("HJ" & i) = Sheets("Arbeitsblatt_SAM").Range("AJ" & j)
Sheets("DatenSAM").Range("HK" & i) = Sheets("Arbeitsblatt_SAM").Range("AK" & j)
Sheets("DatenSAM").Range("HL" & i) = Sheets("Arbeitsblatt_SAM").Range("AL" & j)
Sheets("DatenSAM").Range("HM" & i) = Sheets("Arbeitsblatt_SAM").Range("H" & j)
'WP5
Sheets("DatenSAM").Range("HN" & i) = Sheets("Arbeitsblatt_SAM").Range("AM5")
Sheets("DatenSAM").Range("HO" & i) = Sheets("Arbeitsblatt_SAM").Range("AM" & j)
Sheets("DatenSAM").Range("HP" & i) = Sheets("Arbeitsblatt_SAM").Range("AN" & j)
Sheets("DatenSAM").Range("HQ" & i) = Sheets("Arbeitsblatt_SAM").Range("AO" & j)
Sheets("DatenSAM").Range("HR" & i) = Sheets("Arbeitsblatt_SAM").Range("AP" & j)
Sheets("DatenSAM").Range("HS" & i) = Sheets("Arbeitsblatt_SAM").Range("I" & j)
'WP6
Sheets("DatenSAM").Range("HT" & i) = Sheets("Arbeitsblatt_SAM").Range("AQ5")
Sheets("DatenSAM").Range("HU" & i) = Sheets("Arbeitsblatt_SAM").Range("AQ" & j)
Sheets("DatenSAM").Range("HV" & i) = Sheets("Arbeitsblatt_SAM").Range("AR" & j)
Sheets("DatenSAM").Range("HW" & i) = Sheets("Arbeitsblatt_SAM").Range("AS" & j)
Sheets("DatenSAM").Range("HX" & i) = Sheets("Arbeitsblatt_SAM").Range("AT" & j)
Sheets("DatenSAM").Range("HY" & i) = Sheets("Arbeitsblatt_SAM").Range("J" & j)
'WP7
Sheets("DatenSAM").Range("HZ" & i) = Sheets("Arbeitsblatt_SAM").Range("AU5")
Sheets("DatenSAM").Range("IA" & i) = Sheets("Arbeitsblatt_SAM").Range("AU" & j)
Sheets("DatenSAM").Range("IB" & i) = Sheets("Arbeitsblatt_SAM").Range("AV" & j)
Sheets("DatenSAM").Range("IC" & i) = Sheets("Arbeitsblatt_SAM").Range("AW" & j)
Sheets("DatenSAM").Range("ID" & i) = Sheets("Arbeitsblatt_SAM").Range("AX" & j)
Sheets("DatenSAM").Range("IE" & i) = Sheets("Arbeitsblatt_SAM").Range("K" & j)
'WP8
Sheets("DatenSAM").Range("IF" & i) = Sheets("Arbeitsblatt_SAM").Range("AY5")
Sheets("DatenSAM").Range("IG" & i) = Sheets("Arbeitsblatt_SAM").Range("AY" & j)
Sheets("DatenSAM").Range("IH" & i) = Sheets("Arbeitsblatt_SAM").Range("AZ" & j)
Sheets("DatenSAM").Range("II" & i) = Sheets("Arbeitsblatt_SAM").Range("BA" & j)
Sheets("DatenSAM").Range("IJ" & i) = Sheets("Arbeitsblatt_SAM").Range("BB" & j)
Sheets("DatenSAM").Range("IK" & i) = Sheets("Arbeitsblatt_SAM").Range("L" & j)
'SZ9
Sheets("DatenSAM").Range("IL" & i) = Sheets("Arbeitsblatt_SAM").Range("BC5")
Sheets("DatenSAM").Range("IM" & i) = Sheets("Arbeitsblatt_SAM").Range("BC" & j)
Sheets("DatenSAM").Range("IN" & i) = Sheets("Arbeitsblatt_SAM").Range("BD" & j)
Sheets("DatenSAM").Range("IO" & i) = Sheets("Arbeitsblatt_SAM").Range("BE" & j)
Sheets("DatenSAM").Range("IP" & i) = Sheets("Arbeitsblatt_SAM").Range("BF" & j)
Sheets("DatenSAM").Range("IQ" & i) = Sheets("Arbeitsblatt_SAM").Range("M" & j)
'SZ10
Sheets("DatenSAM").Range("IR" & i) = Sheets("Arbeitsblatt_SAM").Range("BG5")
Sheets("DatenSAM").Range("IS" & i) = Sheets("Arbeitsblatt_SAM").Range("BG" & j)
Sheets("DatenSAM").Range("IT" & i) = Sheets("Arbeitsblatt_SAM").Range("BH" & j)
Sheets("DatenSAM").Range("IU" & i) = Sheets("Arbeitsblatt_SAM").Range("BI" & j)
Sheets("DatenSAM").Range("IV" & i) = Sheets("Arbeitsblatt_SAM").Range("BJ" & j)
Sheets("DatenSAM").Range("IW" & i) = Sheets("Arbeitsblatt_SAM").Range("N" & j)
'SZ11
Sheets("DatenSAM").Range("IX" & i) = Sheets("Arbeitsblatt_SAM").Range("BK5")
Sheets("DatenSAM").Range("IY" & i) = Sheets("Arbeitsblatt_SAM").Range("BK" & j)
Sheets("DatenSAM").Range("IZ" & i) = Sheets("Arbeitsblatt_SAM").Range("BL" & j)
Sheets("DatenSAM").Range("JA" & i) = Sheets("Arbeitsblatt_SAM").Range("BM" & j)
Sheets("DatenSAM").Range("JB" & i) = Sheets("Arbeitsblatt_SAM").Range("BN" & j)
Sheets("DatenSAM").Range("JC" & i) = Sheets("Arbeitsblatt_SAM").Range("O" & j)
'SZ12
Sheets("DatenSAM").Range("JD" & i) = Sheets("Arbeitsblatt_SAM").Range("BO5")
Sheets("DatenSAM").Range("JE" & i) = Sheets("Arbeitsblatt_SAM").Range("BO" & j)
Sheets("DatenSAM").Range("JF" & i) = Sheets("Arbeitsblatt_SAM").Range("BP" & j)
Sheets("DatenSAM").Range("JG" & i) = Sheets("Arbeitsblatt_SAM").Range("BQ" & j)
Sheets("DatenSAM").Range("JH" & i) = Sheets("Arbeitsblatt_SAM").Range("BR" & j)
Sheets("DatenSAM").Range("JI" & i) = Sheets("Arbeitsblatt_SAM").Range("P" & j)
'SP
Sheets("DatenSAM").Range("JJ" & i) = Sheets("Arbeitsblatt_SAM").Range("BS5")
Sheets("DatenSAM").Range("JK" & i) = Sheets("Arbeitsblatt_SAM").Range("BS" & j)
Sheets("DatenSAM").Range("JL" & i) = Sheets("Arbeitsblatt_SAM").Range("BT" & j)
Sheets("DatenSAM").Range("JM" & i) = Sheets("Arbeitsblatt_SAM").Range("Q" & j)
'BK
Sheets("DatenSAM").Range("JN" & i) = Sheets("Arbeitsblatt_SAM").Range("BU" & j)
Sheets("DatenSAM").Range("JO" & i) = Sheets("Arbeitsblatt_SAM").Range("BV" & j)
Sheets("DatenSAM").Range("JP" & i) = Sheets("Arbeitsblatt_SAM").Range("BW" & j)
Sheets("DatenSAM").Range("JQ" & i) = Sheets("Arbeitsblatt_SAM").Range("R" & j)
'Gesamt Pkt
Sheets("DatenSAM").Range("JR" & i) = Sheets("Arbeitsblatt_SAM").Range("T" & j)
End If
Next i
Next j
Application.ScreenUpdating = True
End Sub
Viele Grüße,
Zwenn
Anzeige
AW: Fehler beim Kompilieren - Prozedur zu groß
07.04.2018 18:12:25
Claus
Hallo Zwenn,
danke danke danke - das ist die Lösung. Es funktioniert !!!! froi
auch vielen Dank an Gerd und Luschi.
Und entschuldigt das ich mein Problem nicht deutlich genug umrissen habe.
LG
Claus

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige