13.10.2017, 21:45
Guten Tag zusammen,
ich habe ein Problem was ich irgendwie nicht lösen kann.
Eine
Ich habe 3 Tabellenblätter und habe versucht mir selber ein Makro zu machen. Wenn ich das Makro ausführe kopiert das Makro in die letzte Tabelle immer die gleichen Zahlen also z.b A1 bis A20,, anstatt die neuen Werte bei A21 einzufügen.
Zweites Problem: Nach dem kopieren lösche ich die kopierte Reihe, damit die nächste zur Verfügung steht. Bei meinem Makro löscht er aber immer an der gleichen Stelle, anstatt die nächste oben drüber zu nehmen.
Drittes Problem: Eigentlich wie das zweite Problem.: Die dauerhaft markierten Zellen von Tab1 müssen nach dem löschen der letzten Zeile eine nach OBEN rutschen.
Infos: Tab1 ist ein Tabellenblatt wo ich eine Markierung von Zellen hab. Die ändert sich nie. Die Zellen sind dauerhaft markiert und kopiere die Markierung und setzte Sie in Tabelle 4 ein.
Tabelle4 sind die Zahlen. ca. 900 Reihen. Ich nehme die letzte Reihe von unten und sortiere sie. dann nehme ich einen Ausschnitt daraus und kopiere diese in Tabelle5. Nach dem Kopieren gehe ich wieder zur Tabelle4 und lösche die Reihe, damit die nächste Reihe von unten wählbar ist.
Tabelle5 ist das Tabellenblatt wo die ganzen Zahlen hin kopiert werden sollen.
Jetzt noch eine Wichtige Sache: Tabelle4 hat 900 Werte. Ich muss die Werte von unten nach oben abarbeiten. Also von 900 zu 899 zu 898 usw. Deshalb lösche ich die Zeile nachdem Sie kopiert wurde, damit die nächste Reihe zu verfügung steht.
----------------------------------------------
Sub Makro1()
'
' Makro1 Makro
'
'
Sheets("Tab1").Select
Selection.Copy
Sheets("Tabelle4").Select
Range("A890").Select
ActiveSheet.Paste
Cells.Select
Range("A876").Activate
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Tabelle4").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tabelle4").Sort.SortFields.Add Key:=Range("A1:BT1" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Tabelle4").Sort
.SetRange Range("A1:BT896")
.Header = xlGuess
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
Range("AY890:BR895").Select
Selection.Copy
Sheets("Tabelle5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("J10").Select
Sheets("Tabelle4").Select
Rows("887:887").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
End Sub
----------------------------------------
Ich hoffe ein Profi kann diesen VBA CODE lesen. Ich kann es leider nicht.
Ich würde mich riiiiiiiiiiiiiiiiiieeeeeeeesig freuen wenn einer den code so ändern könnte das die kopierten Werte fortlaufend sind und das die gelöschte Reihe auch von zB. 900 auf 899 rutscht und das die aus Tab1 gewählte Markierung auch eine nach oben rutscht.
Vielen lieben DANK fürs ansehen und ich ich hoffe das es nicht zu schwer für euch ist.
ich habe ein Problem was ich irgendwie nicht lösen kann.
Eine
Ich habe 3 Tabellenblätter und habe versucht mir selber ein Makro zu machen. Wenn ich das Makro ausführe kopiert das Makro in die letzte Tabelle immer die gleichen Zahlen also z.b A1 bis A20,, anstatt die neuen Werte bei A21 einzufügen.
Zweites Problem: Nach dem kopieren lösche ich die kopierte Reihe, damit die nächste zur Verfügung steht. Bei meinem Makro löscht er aber immer an der gleichen Stelle, anstatt die nächste oben drüber zu nehmen.
Drittes Problem: Eigentlich wie das zweite Problem.: Die dauerhaft markierten Zellen von Tab1 müssen nach dem löschen der letzten Zeile eine nach OBEN rutschen.
Infos: Tab1 ist ein Tabellenblatt wo ich eine Markierung von Zellen hab. Die ändert sich nie. Die Zellen sind dauerhaft markiert und kopiere die Markierung und setzte Sie in Tabelle 4 ein.
Tabelle4 sind die Zahlen. ca. 900 Reihen. Ich nehme die letzte Reihe von unten und sortiere sie. dann nehme ich einen Ausschnitt daraus und kopiere diese in Tabelle5. Nach dem Kopieren gehe ich wieder zur Tabelle4 und lösche die Reihe, damit die nächste Reihe von unten wählbar ist.
Tabelle5 ist das Tabellenblatt wo die ganzen Zahlen hin kopiert werden sollen.
Jetzt noch eine Wichtige Sache: Tabelle4 hat 900 Werte. Ich muss die Werte von unten nach oben abarbeiten. Also von 900 zu 899 zu 898 usw. Deshalb lösche ich die Zeile nachdem Sie kopiert wurde, damit die nächste Reihe zu verfügung steht.
----------------------------------------------
Sub Makro1()
'
' Makro1 Makro
'
'
Sheets("Tab1").Select
Selection.Copy
Sheets("Tabelle4").Select
Range("A890").Select
ActiveSheet.Paste
Cells.Select
Range("A876").Activate
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Tabelle4").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tabelle4").Sort.SortFields.Add Key:=Range("A1:BT1" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Tabelle4").Sort
.SetRange Range("A1:BT896")
.Header = xlGuess
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
Range("AY890:BR895").Select
Selection.Copy
Sheets("Tabelle5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("J10").Select
Sheets("Tabelle4").Select
Rows("887:887").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
End Sub
----------------------------------------
Ich hoffe ein Profi kann diesen VBA CODE lesen. Ich kann es leider nicht.
Ich würde mich riiiiiiiiiiiiiiiiiieeeeeeeesig freuen wenn einer den code so ändern könnte das die kopierten Werte fortlaufend sind und das die gelöschte Reihe auch von zB. 900 auf 899 rutscht und das die aus Tab1 gewählte Markierung auch eine nach oben rutscht.
Vielen lieben DANK fürs ansehen und ich ich hoffe das es nicht zu schwer für euch ist.