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

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige