Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
420to424
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
420to424
420to424
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Neue Werte aus Tab.1 Spalte A:A in Tab.2 Spalt A:A

Neue Werte aus Tab.1 Spalte A:A in Tab.2 Spalt A:A
J.Heller
Hallo Excel-Freaks
Habe folgendes Problem
Ich möchte über VBA neue Werte aus Tabelle "Eingaben" Spalte A:A in Tabelle "Bestände" Spalte a:a anfügen. Das heißt alle neuen Materialnummern sollen in Tabelle Bestände Spalte A:A übernommen werden. Habe eine Beispieldatei hinterlegt.
https://www.herber.de/bbs/user/5758.xls
Danke für die Hilfe

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Neue Werte aus Tab.1 Spalte A:A in Tab.2 Spalt
Ahmed
Hi,
füge folgende Funktionen im Makromodul der Tabelle 1 (alt+f11)ein:

Private Sub Worksheet_Change(ByVal r As Range)
If r.Column = 3 Then
If r.Offset(0, -1).Value = "" Then
MsgBox "ArtikelNr fehlt!", vbCritical
ElseIf r.Offset(0, -2).Value = "" Then
MsgBox "Datum fehlt!", vbCritical
Else
Call change_Bestaende(r.Offset(0, -1).Value, r.Value)
End If
End If
End Sub


Private Sub change_Bestaende(artnr, aenderung)
Dim w As Worksheet, r As Range
Set w = ThisWorkbook.Worksheets("Bestände")
Set r = w.Range("A1")
i = 0
flage = 0
Do While r.Offset(i, 0) <> ""
If r.Offset(i, 0).Value = artnr Then
If r.Offset(i, 1).Value + aenderung < 0 Then
MsgBox "Mit dieser Änderung wird dein Bestand negativ!" _
& vbNewLine & "Die Änderung wird nicht übernommen.", vbCritical
Application.Undo
Else
r.Offset(i, 1).Value = r.Offset(i, 1).Value + aenderung
End If
flag = 1
End If
i = i + 1
Loop
If flag = 0 Then
If aenderung < 0 Then
MsgBox "Mit dieser Änderung wird dein Bestand negativ!" _
& vbNewLine & "Die Änderung wird nicht übernommen", vbCritical
Application.Undo
Else
r.Offset(i, 0).Value = artnr
r.Offset(i, 1).Value = aenderung
End If
End If
End Sub

Ich gehe davon aus, dass du keine negative Bestände haben willst. Bevor die Änderung gemacht wird, wird dieses überprüft.
Gruß
Ahmed
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige