|  
                                             
	Hallo zusammen,  
	ich scheitere gerade an einem Makro für folgendes Problem:  
	 
	Ich habe eine Datei mit mehreren Sheets, die jeweils gleich aufgebaut sind. In Zeile O steht manchmal ein Wert (Preis), ansonsten DIV/0 oder nichts. Immer wenn in Spalte O ein Wert steht, möchte ich diesen sowie außerdem den Wert aus der gleichen Zeile und Spalte D und E in ein neues Sheet kopieren, sodass sie dort in der Reihenfolge D, E, O angeordnet sind (Teilenummer, Beschreibung, Preis).  
	 
	Ich habe dafür ein Makro geschrieben, dass zuerst ein neues SHeet "Output" anlegt und danach die Sheets durchlaufen soll und eben das gewünschte kopieren ausführen soll. 
	Das Makro läuft auch, aber leider stehen in "Output" völlig falsche Werte... Und ich weiß nicht warum :-D 
	 
	Ich hatte zuerst mit Copy und Paste gearbeitet, dann stand auch etwas in "Output", allerdings nur Formeln, nicht die Werte, die ich haben wollte. Wollte dann mit PasteSpecial eben die Werte einfügen, das ergab aber eine Kollision mit dem Worksheet-Objekt. Gerade versuche ich, das Ganze über Variablen zu lösen. 
	 
	Leider weiß ich gerade überhaupt nicht mehr weiter, wo mein Fehlerliegt...  
	 
	Hier der Code: 
	  
	Sub Copy_Cond() 
	  
	    Dim ws As Worksheet 
	    Dim I As Integer 
	    Dim S As Integer 
	    Dim WS_Count As Integer 
	    Dim RowCount As Integer 
	     
	    Dim copy_o As Double 
	    Dim copy_e As String 
	    Dim copy_d As Long 
	     
	    WS_Count = ActiveWorkbook.Worksheets.Count 
	     
	    With ThisWorkbook 
	        Set ws = .Sheets.Add(After:=.Sheets(.Sheets.Count)) 
	        ws.Name = "Output" 
	    End With 
	     
	    For S = 1 To WS_Count 
	     
	        Worksheets(S).Activate 
	     
	        RowCount = Cells(Cells.Rows.Count, "O").End(xlUp).Row 
	     
	        For I = 1 To RowCount 
	            Range("O" & I).Select 
	            check_value = ActiveCell 
	             
	            If Not check_value = "#DIV/0!" Or IsEmpty(ActiveCell) Then 
	                copy_o = ActiveCell.Range("O" & I) 
	                 
	                Worksheets("Output").Activate 
	                RowCount = Cells(Cells.Rows.Count, "c").End(xlUp).Row 
	                Range("C" & RowCount + 1).Value = copy_o 
	                 
	                Worksheets(S).Activate 
	                Range("E" & I).Select 
	                copy_e = ActiveCell.Range("E" & I) 
	                 
	                Worksheets("Output").Activate 
	                Range("B" & RowCount + 1).Value = copy_e 
	                 
	                Worksheets(S).Activate 
	                Range("D" & I).Select 
	                copy_d = ActiveCell.Range("D" & I) 
	                 
	                Worksheets("Output").Select 
	                Range("A" & RowCount + 1).Value = copy_d 
	             
	            End If 
	             
	        Next 
	         
	    Next 
	  
	End Sub 
	  
	Die Tabelle selbst kann ich leider nicht beifügen, da sie sensible Inhalte meines Arbeitgebers enthält. 
	 
	Vielen Dank für die Hilfe! 
	Annemarie 
     |