19.12.2017, 14:38 
(Dieser Beitrag wurde zuletzt bearbeitet: 22.12.2017, 16:23 von WillWissen.
 Bearbeitungsgrund: Codetags
)
		
	
	
		Moin
Ich möchte bei Excel einen Warenkorb erstellen. In einem Blatt habe ich dazu die Liste mit den Artikeln, Preisen etc und natürlich die Bestellmenge. J
etzt habe ich folgendes Problem:
Der kunde soll mit einem klick auf einen Button die Bestelldaten in ein extra Blatt "Warenkorb" setzen. Dabei wird natürlich alles kopiert, allerdings nicht aktuallisiert, falls der Kunde die Bestellmenge ändert. Ich habe die Daten mit relativem Verweis kopiert, damit ich das Makro in allen Zellen verwenden kann und absolut in das zweite Blatt eingefügt, damit dort nichts verrutscht.
Wie bekomme ich es hin, dass sich die Bestellmenge ändert wenn der Kunde es im Bestellformular ändert, ohne für jeden Artikel ein eigenes Makro zu erstellen.
Oder gibt es iwie eine einfachere möglichkeit. z,b, dass man das Bestellformular ausfüllt und einmalig ein Makro nutzt um alle Bestellten artikel in einen Warenkorb zu verschieben?
Für Hilfe schon mal vielen Dank.
	
	
	
	
Ich möchte bei Excel einen Warenkorb erstellen. In einem Blatt habe ich dazu die Liste mit den Artikeln, Preisen etc und natürlich die Bestellmenge. J
etzt habe ich folgendes Problem:
Der kunde soll mit einem klick auf einen Button die Bestelldaten in ein extra Blatt "Warenkorb" setzen. Dabei wird natürlich alles kopiert, allerdings nicht aktuallisiert, falls der Kunde die Bestellmenge ändert. Ich habe die Daten mit relativem Verweis kopiert, damit ich das Makro in allen Zellen verwenden kann und absolut in das zweite Blatt eingefügt, damit dort nichts verrutscht.
Wie bekomme ich es hin, dass sich die Bestellmenge ändert wenn der Kunde es im Bestellformular ändert, ohne für jeden Artikel ein eigenes Makro zu erstellen.
Code:
Sub Makro31()
'
' Makro31 Makro
'
'
    ActiveCell.Offset(0, -14).Range("A1:N1").Select
    Selection.Copy
    Sheets("Warenkorb").Select
    Range("A14").Select
    ActiveSheet.Paste
    Range("K14").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("L14").Select
    Selection.ClearContents
    Range("M14").Select
    Selection.ClearContents
    Range("N14").Select
    Selection.Cut
    Range("K14").Select
    ActiveSheet.Paste
    Range("M14").Select
    Selection.NumberFormat = "General"
    ActiveCell.FormulaR1C1 = "=RC[-5]"
    Range("L14").Select
    ActiveCell.FormulaR1C1 = "x"
    Range("N14:O14").Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Selection.Merge
    Range("K14:M14").Select
    Range("M14").Activate
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent1
        .TintAndShade = 0.799981688894314
        .PatternTintAndShade = 0
    End With
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlHairline
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlHairline
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlHairline
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlHairline
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlHairline
    End With
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
    Rows("14:14").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("N15:O15,N15:O15").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlHairline
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlHairline
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlHairline
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlHairline
    End With
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
    Range("N14:O14").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlHairline
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlHairline
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlHairline
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlHairline
    End With
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
    Range("K15").Select
    ActiveCell.FormulaR1C1 = "=Angebot!R[5]C[4]"
    Range("K16").Select
    Sheets("Angebot").Select
    Range("Q19").Select
End SubOder gibt es iwie eine einfachere möglichkeit. z,b, dass man das Bestellformular ausfüllt und einmalig ein Makro nutzt um alle Bestellten artikel in einen Warenkorb zu verschieben?
Für Hilfe schon mal vielen Dank.

