Sub Auswertung2()
Dim wSTAT As Worksheet, wAUSW As Worksheet
Dim aUr, aZiel()
Dim iUr As Long, iZiel As Long
Set wSTAT = Worksheets(„BU-Status“)
Set wAUSW = Worksheets(„BU-Auswertung“)
aUr = wSTAT.Range(„D50:AY1401“).Value
ReDim aZiel(UBound(aUr), 5)
For iUr = 1 To UBound(aUr)
If aUr(iUr, 18) = 1 Then
If aUr(iUr, 47) > 2 Then
If (AY = „AV“) And (AY = „ST“) And (AY = „CH“) And (AY = „DDC“) Then
aZiel(iZiel, 0) = aUr(iUr, 1) 'D
aZiel(iZiel, 1) = aUr(iUr, 9) 'L
aZiel(iZiel, 2) = aUr(iUr, 20) 'W
aZiel(iZiel, 3) = aUr(iUr, 21) 'X
aZiel(iZiel, 4) = aUr(iUr, 47) 'AX
aZiel(iZiel, 5) = aUr(iUr, 48) 'AY
iZiel = iZiel + 1
End If
End If
End If
Next iUr
wAUSW.Range(„A2“).Resize(iZiel, 6) = aZiel
End Sub
Die wAUSW.Range…wird mir über diese Laufzeitfehlermeldung (Laufzeitfehler 1004 - Anwendungs- oder objektdefinierter Fehler) gelb markiert.
ich bekomme zwar keine Fehlermeldung mehr, aber irgendwie passiert nun gar nichts mehr. Wo ist denn jetzt schon wieder der Fehler?
Sub Auswertung3()
Dim wSTAT As Worksheet, wAUSW As Worksheet
Dim aUr, aZiel()
Dim iUr As Long, iZiel As Long
Set wSTAT = Worksheets(„BU-Status“)
Set wAUSW = Worksheets(„BU-Auswertung“)
aUr = wSTAT.Range(„D50:AY1401“).Value
ReDim aZiel(UBound(aUr), 6)
For iUr = 1 To UBound(aUr)
If aUr(iUr, 18) = 1 Then
If aUr(iUr, 47) > 2 Then
aZiel(iZiel, 0) = aUr(iUr, 1) 'D
aZiel(iZiel, 1) = aUr(iUr, 9) 'L
aZiel(iZiel, 2) = aUr(iUr, 20) 'W
aZiel(iZiel, 3) = aUr(iUr, 21) 'X
aZiel(iZiel, 4) = aUr(iUr, 47) 'AX
aZiel(iZiel, 5) = aUr(iUr, 48) 'AY
iZiel = iZiel + 1
End If
End If
Next
If InStr("#AV#ST#CH#DDC#", „#“ & AY & „#“) > 0 Then
End If
End Sub
sind die Spalten, die aus der Tabelle „BU-Status“ ausgewertet sollen (Zeile 50:1401) und in die Tabelle „BU-Auswertung“ übernommen werden müssen, allerdings nur…
…wenn…(mehrere Kriterien müssen erfüllt sein)
Spalte U eine 1 beinhaltet
Spalte AX > 2 Tage
Spalte AY muss folgenden Inhalt, haben entweder CH oder ST oder AV oder DDC
D / L / W / X / AX / AY
sind die Spalten, die aus der Tabelle „BU-Status“ ausgewertet
sollen (Zeile 50:1401) und in die Tabelle „BU-Auswertung“
übernommen werden müssen, allerdings nur…
Spalte U eine 1 beinhaltet
Spalte AX > 2 Tage
Spalte AY muss folgenden Inhalt, haben entweder CH oder ST
oder AV oder DDC
Hallo Melanie,
nachfolgender Code ist ungetestet. Lasse ihn mal laufen. Was zeigt die Msgbox an? Wenn sich auf dem Blatt nix tat, nimm unten mal das Hochkomma raus und lass noch mal laufen.
Gruß
Reinhard
Sub Auswertung3()
Dim wSTAT As Worksheet, wAUSW As Worksheet
Dim aUr, aZiel()
Dim iUr As Long, iZiel As Long
Set wSTAT = Worksheets("BU-Status")
Set wAUSW = Worksheets("BU-Auswertung")
aUr = wSTAT.Range("D50:AY1401").Value
ReDim aZiel(UBound(aUr), 6)
For iUr = 1 To UBound(aUr)
If aUr(iUr, 18) = 1 Then
If aUr(iUr, 47) \> 2 Then
If InStr("#AV#ST#CH#DDC#", "#" & aUr(iUr, 48) & "#") \> 0 Then
aZiel(iZiel, 0) = aUr(iUr, 1) 'D
aZiel(iZiel, 1) = aUr(iUr, 9) 'L
aZiel(iZiel, 2) = aUr(iUr, 20) 'W
aZiel(iZiel, 3) = aUr(iUr, 21) 'X
aZiel(iZiel, 4) = aUr(iUr, 47) 'AX
aZiel(iZiel, 5) = aUr(iUr, 48) 'AY
iZiel = iZiel + 1
End If
End If
End If
Next
MsgBox iZiel
'wSTAT.Range("D50:AY1401") = aZiel
End Sub
habe soeben Deine Idee umgesetzt, aber hat auch nicht funktioniert…Erst kam ein kleines Fenster mit 12 (???) als Inhalt…dann eine Skala, als ob er tatsächlich die Daten übernimmt…und zu guter letzt wurde die auszuwertende Tabelle umformatiert (glücklicherweise basteln ich nur an einer Kopie herum ).
Was war denn jetzt hier das Problem? Bin total ratlos…
sind die Spalten, die aus der Tabelle „BU-Status“ ausgewertet
sollen (Zeile 50:1401) und in die Tabelle „BU-Auswertung“
übernommen werden müssen, allerdings nur…
…wenn…(mehrere Kriterien müssen erfüllt sein)
Spalte U eine 1 beinhaltet
Spalte AX > 2 Tage
Spalte AY muss folgenden Inhalt, haben entweder CH oder ST
oder AV oder DDC
Hallo Melanie,
wenn alle 3 bedingungen zutreffen sollen jeweils 6 Werte aus BU-Satatus übernommen werden, okay.
Wohin in BU-Auswertung sollen sie denn geschrieben werden?
die ausgewerteten Daten aus „BU-Status“ sollen dann in das Register „BU-Auswertung“ kopiert werden, wenn die Bedingungen erfüllt sind. Hierfür habe ich dann die Spalten A - F vorgesehen ab Zeile 2.
die ausgewerteten Daten aus „BU-Status“ sollen dann in das
Register „BU-Auswertung“ kopiert werden, wenn die Bedingungen
erfüllt sind. Hierfür habe ich dann die Spalten A - F
vorgesehen ab Zeile 2.
Hallo Melanie,
Sub Auswertung3()
Dim wSTAT As Worksheet, wAUSW As Worksheet
Dim aUr, aZiel()
Dim iUr As Long, iZiel As Long
Set wSTAT = Worksheets("BU-Status")
Set wAUSW = Worksheets("BU-Auswertung")
aUr = wSTAT.Range("D50:AY1401").Value
ReDim aZiel(UBound(aUr), 6)
For iUr = 1 To UBound(aUr)
If aUr(iUr, 18) = 1 Then
If aUr(iUr, 47) \> 2 Then
If InStr("#AV#ST#CH#DDC#", "#" & aUr(iUr, 48) & "#") \> 0 Then
aZiel(iZiel, 0) = aUr(iUr, 1) 'D
aZiel(iZiel, 1) = aUr(iUr, 9) 'L
aZiel(iZiel, 2) = aUr(iUr, 20) 'W
aZiel(iZiel, 3) = aUr(iUr, 21) 'X
aZiel(iZiel, 4) = aUr(iUr, 47) 'AX
aZiel(iZiel, 5) = aUr(iUr, 48) 'AY
iZiel = iZiel + 1
End If
End If
End If
Next
If iZiel \> 0 Then wAUSW.Range("A2:F1352") = aZiel
End Sub
Huhu,…habe es gerade ausprobiert…anscheinend ist da echt
der WURM drin…
kriegen wir hin *zur Wurmklatsche greif*
Laufzeitfehler ‚13‘:
Typen unverträglich
If aUr(iUr, 18) = 1 Then
*hmmh*, Sinn macht diese meldung nur wenn in der Zelle die da verglichen wird und hinter aUr(iUr, 18) steht etwas in sich hat was man mit 1 nicht vergleichen kann.
Der variablentyp von aUr wurde nicht deklariert. iUr ist ein Integer.
Irgendwie seltsam.
Ich glaube wir müssen die Taktik wechseln.
Lade dir mal diese Mappe herunter.
Da funktioniert mein Code.
WEnn du dadurch nicht weiterkommst, mußt du deinerseits eine Mappe hochladen, wo der Code nicht funktioniert.
aufgrund der Vertraulichkeit der Datei, musste ich Dir mal schnell ein Beispiel „zaubern“. Hoffe, dass Du anhand dieser Tabelle etwas „visuelles“ hast.
aufgrund der Vertraulichkeit der Datei, musste ich Dir mal
schnell ein Beispiel „zaubern“. Hoffe, dass Du anhand dieser
Tabelle etwas „visuelles“ hast.
da kann ich nix visuelles haben, da ist kein Code drinnen und noch schlimmer keinerlei Daten
Ich hatte eine Mappe hochgeladen wo der Code funktioniert.
Keine Reaktion deinerseits darauf
Zum Datenschutz, es geht ja nur um 6 Spalten. Ergo lösche alle anderen. Falls Formeln im Spiel sind, vorher alle 6 Spalten markieren, dann Strg+c, dann Bearbeiten----Inhalte Einfügen—Werte.
Falls jetzt noch in den 6 Spalten wichtige Daten stehen, anonymisiere sie.
Und, ich brauch nicht Zeilen 50-1401, 50-70 reicht.
Dann bau meinen Code ein.
erst einmal ein big sorry,…
Da ich dieses Thema zwischen meinem alltäglichen Job noch erledigen muss, hatte ich nicht genügend Zeit.
Ist keine böse Absicht von mir gewesen.
Ich werde mich mal morgen früh noch mal „ordentlich“ hinsetzen, wenn ich wieder im Büro bin, um Dir dieses besser (mit den Codes etc.) darzustellen.
Hoffe, dass das für Dich in Ordnung ist. Kann mich nur noch einmal entschuldigen. Leider ist meine Zeit oft knapp…und muss teilweise so etwas nach Feierabend machen.
Viele Grüße & bis morgen…
Melanie