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

For next - Problem

For next - Problem
22.07.2016 10:58:42
Christian
Hallo zusammen,
ich habe in Excel 2010 ein Makro programmiert, welches mir doppelte rauswirft (Sortierung vorweg):

For zeile = 2 To letzteZeile
If Range("A" & zeile).Value  Range("A" & zeile - 1).Value Then
Range("A" & zeile).Copy
zielblatt.Cells(zielzeile, 1).PasteSpecial xlPasteValues
zielzeile = zielzeile + 1
End If
Next zeile
Nun wurde u.a. ich dankenswerterweise für den Testbetrieb von Excel 2013 auf einem anderen Server (mit ebenso neuem OS) ausgewählt.
Bei dem Teil oben habe ich nun ein Problem. Starte ich das Makro manuell im Code mit F5 läuft es perfekt durch. Starte ich das Makro mittels Button, dem aber dasselbe Makro zugeordnet wurde, so bricht die For-Next-Schleife beim ersten doppelten komplett ab. Im Quellcode kann ich es nicht über Einzelschritte prüfen, da es dort klappt. Ich stehe vor einem Rätsel...
Kann mir jemand helfen? Liegt es an Excel 2013?
Viele Grüße,
Christian

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

Betreff
Datum
Anwender
Anzeige
AW: For next - Problem
22.07.2016 11:23:25
baschti007
Seht das Makro in einem Modul1?
Auf welchem Tabellen Blatt ist der Button ?
Lad mal eine Test Datei hoch das ist immer besser =)
Gruß Basti
AW: For next - Problem
22.07.2016 12:22:11
Christian
Datei soweit gecleant.
Bitte nicht die ersten beiden Buttons nutzen, da habe ich mir den Aufwand nicht gemacht.
Am dritten Button (Verarbeitet) hängt es.
Das Makro ist im Modul Verarbeitet, Prozedur Verarbeitung
https://www.herber.de/bbs/user/107166.zip
AW: For next - Problem
22.07.2016 13:34:52
Christian
noch offen
AW: For next - Problem
22.07.2016 14:18:26
baschti007
Guck mal ob das geht =D
Versuch mal Select wegzulassen das wird nicht benötigt
Gruß Basti

Option Explicit
Sub Leeren()
Sheets("Verarbeitet").Range("A2:X5000").ClearContents
End Sub
Sub Verarbeitung()
Dim quelle1 As Worksheet
Dim quelle2 As Worksheet
Dim zielblatt As Worksheet
Dim sortieren As Range
Dim zeile As Long
Dim letzteZeile As Long
Dim zielzeile As Long
Dim formelbereich As Range
Application.ScreenUpdating = False
Set quelle1 = Worksheets("Import 1")
Set quelle2 = Worksheets("Import 2")
Set zielblatt = Worksheets("Verarbeitet")
Call Leeren
'Sortieren der BWF nach Kontonummer
Set sortieren = quelle1.Range("A1").CurrentRegion
sortieren.Sort Key1:=quelle1.Range("A2"), order1:=xlAscending, Header:=xlYes
'Aggregation der Kontonummer
letzteZeile = quelle1.Range("A1000000").End(xlUp).Row
zielzeile = 2
For zeile = 2 To letzteZeile
If quelle1.Range("A" & zeile).Value  quelle1.Range("A" & zeile - 1).Value Then
quelle1.Range("A" & zeile).Copy zielblatt.Cells(zielzeile, 1)
zielzeile = zielzeile + 1
End If
Next zeile
'Formeln einfügen
Set formelbereich = zielblatt.Range("b2:x2")
formelbereich.Cells(1, 1).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,3,false)"
formelbereich.Cells(1, 2).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,4,false)"
formelbereich.Cells(1, 3).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,12,false)"
formelbereich.Cells(1, 4).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,5,false)"
formelbereich.Cells(1, 5).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,11,false)"
formelbereich.Cells(1, 6).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,7,false)"
formelbereich.Cells(1, 7).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,8,false)"
formelbereich.Cells(1, 8).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,6,false)"
formelbereich.Cells(1, 9).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)), _
""inaktiv"",vlookup(a2,'Import 2'!$A$1:$N$35000,3,false))"
formelbereich.Cells(1, 10).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,4,false))"
formelbereich.Cells(1, 11).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,2,false))"
formelbereich.Cells(1, 12).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,5,false))"
formelbereich.Cells(1, 13).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,6,false))"
formelbereich.Cells(1, 14).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,7,false))"
formelbereich.Cells(1, 15).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,8,false))"
formelbereich.Cells(1, 16).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,9,false))"
formelbereich.Cells(1, 17).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,10,false))"
formelbereich.Cells(1, 18).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,11,false))"
formelbereich.Cells(1, 19).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,12,false))"
formelbereich.Cells(1, 20).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,13,false))"
formelbereich.Cells(1, 21).Formula = "=if(isna(vlookup(a2,'Import 2'!$A$1:$N$35000,1,false)) _
,"""",vlookup(a2,'Import 2'!$A$1:$N$35000,14,false))"
formelbereich.Cells(1, 22).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,25,false)"
formelbereich.Cells(1, 23).Formula = "=vlookup(a2,'Import 1'!$A$1:$AQ$5000,27,false)"
zielblatt.Range("B2:X" & zielzeile - 1).FillDown
Range("B15").Select
Application.ScreenUpdating = True
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige