09.06.2016, 12:24
Hallo George,
ich sah gerade noch, dass das hier
Hier mal der komplett umgestellte Code, wie er funktionieren sollte (ich hab ihn nicht getestet):
ich sah gerade noch, dass das hier
For i = Asc("Y") To Asc("ZZ")gar nicht geht, da der ASCII-Code nichts mit der Spaltennummer zu tun hat.
Hier mal der komplett umgestellte Code, wie er funktionieren sollte (ich hab ihn nicht getestet):
Option ExplicitGruß Uwe
Public Sub Requiredgenerate1(seatNo As Integer) 'Public(öffentlich) Variablen können von Methoden anderer Module genutzt werden
Dim startSheet As Worksheet 'startSheet als Arbeitsblatt
Dim requiredSheet As Worksheet
Dim requiredSheetName1 As String
Dim requiredRow As Long 'Row = Reihe
Dim reference1Cell As Range 'Cell = Zelle
Dim reference1Column As Long 'Column = Spalte
Dim current1Row As Long
Dim current1Cell As Range
Dim i As Integer
Const Search_Start_Row As Integer = 2 'Start der Bauteilsuche ab Zeile 11 in MAL
Const RESULT_START_ROW As Integer = 2 'Übertragung der Bauteile ab Zeile 11 in Montageliste
Set startSheet = Worksheets(1) 'Zuweisung der Objektvariablen
Set reference1Cell = startSheet.Range("Y2:BH2").Find(seatNo, LookIn:=xlValues) 'referenzCell = Ausdruck wird in den Formel-Ergebnissen der Zellen vom Bereich AC2 bis BM 2 gesucht
reference1Column = reference1Cell.Column 'referenzColumn = Referenz-Zelle in der Spalte
requiredSheetName1 = "Bedarfsplanung" 'Arbeitsblatt generateSheetName1 heißt Bedarfsplanung
Worksheets("Bedarfsplanung").Activate 'Aktivierung der Tabelle 3
On Error Resume Next
Set requiredSheet = Sheets(requiredSheetName1)
On Error GoTo 0
For i = Range("Y:Y").Column To Range("ZZ:ZZ").Column 'requiredSheet.Range über Schleife mit Variablen hochzählen ; i as Integer ; i++
requiredRow = RESULT_START_ROW
For current1Row = Search_Start_Row To startSheet.UsedRange.Rows.Count 'Filterung und nur Übertragung von Bauteilen mit einer Anzahl ab 1
Set current1Cell = startSheet.Cells(current1Row, reference1Column)
requiredSheet.Cells(requiredRow, i).Value = current1Cell.Value 'Bauteilanzahl
requiredRow = requiredRow + 1
Next current1Row
Next i
End Sub