06.03.2022, 10:44
Hallo,
ich habe folgendes Makro das auch soweit funktioniert:
In der Tabelle "Matrix" werden Variable eingetragen und Stück. Quasi so:
Name Stück
Schlüssel 01 2
GHS 1
Z 2
jetzt werden alle Schlüssel in die Tabelle "ImportSchlüssel" übertragen
Name Folgenummer
Schlüssel 01 2
Schlüssel 01 1
GHS 1
Z 2
Z 1
Jetzt ist es aber so, dass es sein kann dass, in Tabelle "Matrix" ein Name öfter vorkommen kann
Name Stück
Schlüssel 01 2
GHS 1
Z 2
GHS 2
jetzt muss geprüft werden in "importSchlüssel" zum ersten: gibt es den Schlüssel bereits WENN JA soll geprüft werden welche Folgenummer die letzt höchste war
Name Folgenummer
Schlüssel 01 2
Schlüssel 01 1
GHS 1
Z 2
Z 1
GSH 3
GSH 2
Sollte es den Schlüssel noch nicht geben soll wie gehabt der Schlüssel übertragen werden.
Ich hoffe ich konnte mich genau ausdrücken ;)#
Vielen Dank euch!
ich habe folgendes Makro das auch soweit funktioniert:
Code:
Sub KeyTransfer()
'Workbook
Dim Matrix As Worksheet
Dim ImportSchlüssel As Worksheet
Set Matrix = ThisWorkbook.Worksheets("Matrix")
Set ImportSchlüssel = ThisWorkbook.Worksheets("Import Schlüssel")
Dim MColKey As Long
Dim MKeyRowTimeStamp As Long
Dim MKeyRowName As Long
Dim MKeyRowPcs As Long
Dim MKeyRowLock As Long
Dim ISRow As Long
Dim ISRowKey As Long
Dim ISColKeyID As Integer
Dim ISColKeyName As Integer
Dim ISKColKeyNo As Integer
Dim ISColKeyLock As Integer
Dim ISColKeyTimeStamp As Integer
'For-Schleifen
Dim MCol As Long
Dim MColPcs As Long
'Variablen
'Matrix
MColKey = 11
MKeyRowTimeStamp = 1
MKeyRowName = 2
MKeyRowPcs = 3
MKeyRowLock = 4
'Import Zylinder
ISRowKey = 4
ISColKeyID = 1
ISColKeyName = 2
ISKColKeyNo = 3
ISColKeyLock = 4
ISColKeyTimeStamp = 18
ImportSchlüssel.Range("A4:BF1003").ClearContents
For MCol = MColKey To Matrix.Cells(MKeyRowLock, Columns.Count).End(xlToLeft).Column
For MColPcs = 1 To Matrix.Cells(MKeyRowPcs, MCol).Value
ISRow = ImportSchlüssel.Cells(Rows.Count, ISColKeyID).End(xlUp).Row + 1
ImportSchlüssel.Cells(ISRow, ISColKeyID) = ISRow - 4 + 1001
ImportSchlüssel.Cells(ISRow, ISColKeyTimeStamp) = Matrix.Cells(MKeyRowTimeStamp, MCol)
ImportSchlüssel.Cells(ISRow, ISColKeyName) = Matrix.Cells(MKeyRowName, MCol)
ImportSchlüssel.Cells(ISRow, ISKColKeyNo) = Matrix.Cells(MKeyRowPcs, MCol).Value - (MColPcs - 1)
ImportSchlüssel.Cells(ISRow, ISColKeyLock) = Matrix.Cells(MKeyRowLock, MCol).Value
Next MColPcs
Next MCol
End Sub
In der Tabelle "Matrix" werden Variable eingetragen und Stück. Quasi so:
Name Stück
Schlüssel 01 2
GHS 1
Z 2
jetzt werden alle Schlüssel in die Tabelle "ImportSchlüssel" übertragen
Name Folgenummer
Schlüssel 01 2
Schlüssel 01 1
GHS 1
Z 2
Z 1
Jetzt ist es aber so, dass es sein kann dass, in Tabelle "Matrix" ein Name öfter vorkommen kann
Name Stück
Schlüssel 01 2
GHS 1
Z 2
GHS 2
jetzt muss geprüft werden in "importSchlüssel" zum ersten: gibt es den Schlüssel bereits WENN JA soll geprüft werden welche Folgenummer die letzt höchste war
Name Folgenummer
Schlüssel 01 2
Schlüssel 01 1
GHS 1
Z 2
Z 1
GSH 3
GSH 2
Sollte es den Schlüssel noch nicht geben soll wie gehabt der Schlüssel übertragen werden.
Ich hoffe ich konnte mich genau ausdrücken ;)#
Vielen Dank euch!