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

Makros welche unabhängig kopieren und einfüge

Makros welche unabhängig kopieren und einfüge
19.10.2017 13:46:40
Kati
Hallo,
leider sitze ich schon seit über einer Woche bei meiner Excel Kalkulations Tabelle fest und hoffe auf eine Lösung!
Kurze Beschreibung:
Ich habe eine Kalkulation angefertigt welche über mehrere Arbeitsblätter und SVERWEIS arbeitet.
Mein Problem ist, dass ich zur Berechnung mehrere Hilfsstoffe oder Arbeitsgänge angeben möchte. Da dies aber von Artikel zu Artikel unterschiedlich ist habe ich die verschiedenen Schritte und Hilfsstoffe in einer Dropdown Liste angelegt (E18 und E22).
Mit Hilfe von SVERWEIS und WENNFEHLER werden in D18 und D22 dann die jeweiligen Preise dazu ermittelt.
Mein Wunsch ist nun eine weitere Zeile für entweder Hilfsstoff oder Arbeitsschritt per Mausklick oder Tastenkombi über ein Makro zu erstellen, je nachdem ob dieser gebraucht wird. Soweit so gut, mir ist es gelungen die Zeile mit den Hilfsstoffen exakt so zu kopieren und eine Zeile darunter einfügen zu lassen damit man per Dropdown etwas auswählen kann und der Preis ermittelt wird (genau wie in der Spalte obendrüber) das hat aber nur so lange funktioniert bis über Zeile 18 eine neue Zeile eingefügt wurde. Dann ist in Zelle E18/E22 ein anderer Wert welcher kopiert und eingefügt wird. Ich habe schon rumprobiet mit relativen Bezügen, Google befragt und und und... leider finde ich keine Lösung und benötige dringend eine Kalkulation die einwandfrei funktioniert!
Hier sind meine beiden Makros:
Sub Hilfsstoff_einfügen()
' Hilfsstoff_einfügen Makro
' Tastenkombination: Strg+h
Rows("19:19").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("B18:F18").Select
Selection.Copy
Range("B19").Select
ActiveSheet.Paste
Range("E19").Select
Application.CutCopyMode = False
Selection.ClearContents
End Sub

Sub Arbeitsschritt_einfügen()
'
' Arbeitsschritt_einfügen Makro
'
' Tastenkombination: Strg+a
'
Rows("23:23").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("B22:F22").Select
Selection.Copy
Range("B23").Select
ActiveSheet.Paste
Range("E23").Select
Application.CutCopyMode = False
Selection.ClearContents
End Sub

Diese sollten unabhängig voneinander funktionieren, weil es immer von Artikel zu Artikel variiert ob ein, zwei, drei oder gar kein Hilfsstoff benötigt wird und genau so sieht es mit den Arbeitsgängen aus.
Leider bin ich blutige Anfängerin und hoffe sehr auf eure Hilfe!
Liebe Grüße Kati

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makros welche unabhängig kopieren und einfüge
19.10.2017 15:31:54
Ralf
Hi Kati
da wird Dir keiner groß helfen können, weil unklar ist, woram man erkennen kann, wann aus Zeile 18 die 22 wird usw.
Es gibt 2 Optionen. Entweder, Du kannst die zu kopierende Zelle an Hand eines eindeutigen Merkmals identifizieren (Sub test2) und darüber die entsprechende Zeile bestimmen oder Du machst es so, dass Du immmer erst eine Zelle der Zeile markierst und dann das Makro (Sub test)startest.

Sub test()
Dim zeile&
zeile = Selection.Row
Rows(zeile).Select
End Sub
Sub test2()
Dim rng As Range
Set rng = ActiveSheet.Columns("H").Find("2", after:=Cells(1, "H"), lookat:=xlWhole)
If Not rng Is Nothing Then Rows(rng.Row).Select
End Sub

Anzeige
AW: Makros welche unabhängig kopieren und einfüge
19.10.2017 15:57:24
Kati
Hi Ralf,
erstmal vielen lieben Dank für deine Hilfe!
Ich würde gerne die Variante nehmen bei der ich die Zeile anhand eines Merkmals identifizieren kann.
Nur leider habe ich absolut keine Ahnung was ich mit deinem Code anfangen soll :(
Ich habe mal meine Kalkulation hochgeladen, damit du mir vielleicht sagen kannst an was ich das am besten festmachen kann?
https://www.herber.de/bbs/user/117091.xlsm
An welcher Stelle meiner Makros wird dein Code eigentlich eingefügt?
Sorry, ich hab leider von nichts eine Ahnung!
Anzeige
AW: Makros welche unabhängig kopieren und einfüge
19.10.2017 22:53:21
Ralf
An welcher Stelle meiner Makros wird dein Code eigentlich eingefügt?
...na, Du bist mir ja lustig! An genau der Stelle, wo der alte Code auch steht. Bei Dir ist das im Modul5.
Ich gehe mal davon aus, dass das Blatt Kalkulation betrifft und Du nach Verpackungsmaterial bzw. Fertigungskosten Packerei suchen willst . Ansonsten anpassen.
Ersetzte Deinen alten Code durch diesen hier.
Vorsichtshalber immer erst einmal an einer Kopie ausprobieren!

Sub Hilfsstoff_einfügen()
' Hilfsstoff_einfügen Makro
' Tastenkombination: Strg+h
Dim rng As Range
With Tabelle1
Set rng = .Columns(2).Find("Verpackungsmaterial", after:=.Cells(1, 2), lookat:=xlWhole)
If Not rng Is Nothing Then
.Rows(rng.Row).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
.Range(.Cells(rng.Row - 1, 2), .Cells(rng.Row, 6)).Copy Destination:=.Cells(rng.Row, 2)
.Range("E" & rng.Row).ClearContents
Set rng = Nothing
End If
End With
'    Rows("19:19").Select
'    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'    Range("B18:F18").Select
'    Selection.Copy
'    Range("B19").Select
'    ActiveSheet.Paste
'    Range("E19").Select
'    Application.CutCopyMode = False
'    Selection.ClearContents
End Sub
Sub Arbeitsschritt_einfügen()
' Arbeitsschritt_einfügen Makro
' Tastenkombination: Strg+a
Dim rng As Range
With Tabelle1
Set rng = .Columns(2).Find("Fertigungskosten Packerei", after:=.Cells(1, 2), lookat:= _
xlWhole)
If Not rng Is Nothing Then
.Rows(rng.Row).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
.Range(.Cells(rng.Row - 1, 2), .Cells(rng.Row, 6)).Copy Destination:=.Cells(rng.Row, 2)
.Range("E" & rng.Row).ClearContents
Set rng = Nothing
End If
End With
'    Rows("23:23").Select
'    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'    Range("B22:F22").Select
'    Selection.Copy
'    Range("B23").Select
'    ActiveSheet.Paste
'    Range("E23").Select
'    Application.CutCopyMode = False
'    Selection.ClearContents
End Sub

Anzeige
AW: Makros welche unabhängig kopieren und einfüge
25.10.2017 08:54:50
Kati
Hallo Ralf,
danke für deine Mühe und deinen neuen Code den du erstellt hast.
Ich habe viel rumprobiert und getestet, auch selbst versucht diesen Code so zu schreiben wie er passt... leider ohne Erfolg :(
Wenn ich deinen Code benutze, dann werden Zellen an den falschen Stellen eingefügt und ich schaffe es beim besten Willen nicht mir selbst was hinzubasteln!
Ich möchte ja in den Zeilen 'Hilfsstoffe' und 'Fertigungskosten Finish' jeweils eine Zeile hinzufügen können sobald ich per Dropdown Liste in Spalte E etwas ausgewählt habe...
Gibt es denn da wirklich keine Möglichkeit, oder bin ich einfach zu ungeschickt für VBA?
Anzeige
AW: Makros welche unabhängig kopieren und einfüge
25.10.2017 11:38:39
Ralf
Wenn ich deinen Code benutze, dann werden Zellen an den falschen Stellen eingefügt
Das ist eine Aussage ohne konkreten Informationswert. Das wäre von Anfang an gut gewesen, zu sagen was, warum, wann, wohin soll. Ich hatte mich bei meinem Code an Deinem orientiert. Vielleicht sagst Du einfach mal was Du genau willst und was genau falsch läuft. Dann kann man auch genau handeln. Noch ein Ratespiel spiele ich aber nicht mehr mit...
AW: Makros welche unabhängig kopieren und einfüge
25.10.2017 15:29:28
Kati
Mein Problem ist, dass ich zur Berechnung mehrere Hilfsstoffe oder Arbeitsgänge angeben möchte. Da dies aber von Artikel zu Artikel unterschiedlich ist habe ich die verschiedenen Schritte und Hilfsstoffe in einer Dropdown Liste angelegt (E18 und E22).
Mit Hilfe von SVERWEIS und WENNFEHLER werden in D18 und D22 dann die jeweiligen Preise dazu ermittelt.
Mein Wunsch ist nun eine weitere Zeile für entweder Hilfsstoff oder Arbeitsschritt per Mausklick oder Tastenkombi über ein Makro zu erstellen, je nachdem ob dieser gebraucht wird

Hallo Ralf,
vielleicht hast du diesen Teil im Beginn des Threads überlesen?
Dort steht eigentlich alles drin, ich verstehe nicht was da an Informationen fehlt?
Anzeige
AW: Makros welche unabhängig kopieren und einfüge
25.10.2017 16:47:23
Ralf
das hier (den alten Code damit ersetzen) sollte jetzt passen:
Option Explicit
Sub Hilfsstoff_einfügen()
' Hilfsstoff_einfügen Makro
' Tastenkombination: Strg+h
Dim rng As Range
With Tabelle1
Set rng = .Columns(2).Find("Verpackungsmaterial", after:=.Cells(1, 2), lookat:=xlWhole)
If Not rng Is Nothing Then
.Rows(rng.Row).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
.Range(.Cells(rng.Row - 2, 2), .Cells(rng.Row - 2, 6)).Copy Destination:=.Cells(rng.Row  _
- 1, 2)
.Range("E" & rng.Row - 1).ClearContents
Set rng = Nothing
End If
End With
End Sub
Sub Arbeitsschritt_einfügen()
' Arbeitsschritt_einfügen Makro
' Tastenkombination: Strg+a
Dim rng As Range
With Tabelle1
Set rng = .Columns(2).Find("Fertigungskosten Packerei", after:=.Cells(1, 2), lookat:= _
xlWhole)
If Not rng Is Nothing Then
.Rows(rng.Row).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
.Range(.Cells(rng.Row - 2, 2), .Cells(rng.Row - 2, 6)).Copy Destination:=.Cells(rng.Row  _
- 1, 2)
.Range("E" & rng.Row - 1).ClearContents
Set rng = Nothing
End If
End With
End Sub

Anzeige
AW: Makros welche unabhängig kopieren und einfüge
26.10.2017 08:40:32
Kati
Hallo Ralf,
es hat geklappt! Vielen vielen Dank, das hätte ich ohne deine Hilfe nicht hingekriegt!

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige