Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Hallo ChrisL !

Forumthread: Hallo ChrisL !

Hallo ChrisL !
02.08.2017 11:39:54
Claudio
Hallo ChrisL
Du hattest mir im Mai bei einer Excel-Mappe geholfen.
Nun sollten noch folgende Anpassungen vorgenommen werden:
Wenn bei den Monatsblättern der Preis eines Auftrags (grün) geändert wird, wird dieser Preis nochmals in die Mappe Arbeitsvorrat kopiert. Der jeweils geänderte Wert im Monatsblatt sollte sich jedoch automatisch im Blatt Arbeitsvorrat ändern, sonst hätte ich ja für den Auftrag mehrerer Beträge im Blatt Arbeitsvorrat.
Unter diesem link findest du die Datei:
https://www.herber.de/bbs/user/115169.xlsm
Besten Dank im Voraus !!!
Gruss
Claudio
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hallo ChrisL !
02.08.2017 12:33:00
ChrisL
Hi Claudio
Anhand von "Kunde" und "Preis" wird ermittelt, ob es sich um einen neuen Datensatz handelt (bestehende dürfen ja nicht überschrieben werden). "Kunde" alleine reicht nicht, weil du teilweise für gleiche Kunden mehrere Aufträge hast. Weitere Merkmale zur eindeutigen Identifikation eines Datensatzes sehe ich nicht.
Wenn man also "Preis" als Merkmal weg lässt, dann funktioniert es bei mehrfach vorkommenden Kunden nicht mehr.
Für eine Lösung müsstest du m.E. die Datenbasis ändern. Hierbei wäre die eindeutige Auftragsnummer bereits in den Monatsblättern zu vergeben und damit liessen sich dann die Datensätze identifizieren.
cu
Chris
Private Sub Worksheet_Activate()
Dim WS1 As Worksheet, WS2 As Worksheet
Dim iZeile As Long, letzteZeile As Long
Set WS2 = Worksheets("Arbeitsvorrat")
For Each WS1 In ThisWorkbook.Worksheets
If WS1.Name  WS2.Name And WS1.Name  "Hilfsblatt" Then
For iZeile = 8 To WS1.Cells(Rows.Count, 4).End(xlUp).Row
If WS1.Cells(iZeile, 13) = "Auftrag" And _
WorksheetFunction.CountIfs(WS2.Columns(4), WS1.Cells(iZeile, 4), WS2.Columns(8),  _
WS1.Cells(iZeile, 14)) = 0 Then
letzteZeile = WS2.Cells(Rows.Count, 4).End(xlUp).Row + 1
WS2.Cells(letzteZeile, 2) = WS1.Cells(iZeile, 2).Value
WS2.Range(WS2.Cells(letzteZeile, 4), WS2.Cells(letzteZeile, 6)) = WS1.Range(WS1. _
Cells(iZeile, 4), WS1.Cells(iZeile, 6)).Value
WS2.Cells(letzteZeile, 7) = WS1.Cells(iZeile, 11).Value
WS2.Cells(letzteZeile, 8) = WS1.Cells(iZeile, 14).Value
End If
Next iZeile
End If
Next WS1
End Sub

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige