Excel Bestandsverwaltung
hallo,
ich habe ein eigentlich total simples Excel-Problem:
und zwar möchte ich eine kleine Bestandsverwaltung einrichten, quasi mit einem "check-in" und einem "check-out" bereich
ein bild sagt mehr als 1000 worteeigentlcih ein simples problem, aber .. naja ^^
also ich würde mich freuen, wenn mir jemand helfen könnte!
(ach ja:
ich weiß, ich habe zu diesem thema schon 2 therads erstellt, doch das problem jetzt is konkreter, und da 1 thread schon geschlossen wurde und der andere mit codes zugepostet ist, halbe ich es für am übersichtlichsten, einen neuen zu eröffnen.)
und hier der code zum kopieren:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Application.EnableEvents = True
If Target.Column = 12 Then
Target.Offset(0, -1) = Target.Offset(0, -1) + Target
ElseIf Target.Column = 13 Then
Target.Offset(0, -2) = Target.Offset(0, -2) - Target
End If
Application.EnableEvents = True
End Sub
Antwort schreiben
Antwort 1 von Hajo_Zi vom 06.01.2019, 09:05 Options
Hallo Andreas,
mir kommt der Code irgendwie bekannt vor und mir ist so in Erinnerung das beim letzten Beitrag nur unter 5 Beiträgen war. Ein Bild mag ja schön sein, wenn man was erkennen würde. Da wir hier aber nicht in einen Bildbearbeitungsforum sind wäre wohl eine Xls Datei besser gewesen.
Gruß Hajo
Antwort 2 von gagfu vom 06.01.2019, 13:00 Options
Hallo Hajo,
ich hab die XLS-Datei mal hochgeladen:
http://rapidshare.com/files/10473116/excelprob.xls.html
vllt. wird mein Problem so verständlicher.
PS: wie kommst du auf andreas??
Antwort 3 von Hajo_Zi vom 06.01.2019, 13:14 Options
Hallo Namensloser,
Bitte entschuldige das ich Dich mit Andreas angeredet habe. Ich habe es in diesem Beitrag gleich geändert.
Ich kann in dem markierten Bereich nichts eintragen so ohne weiteres, ich müßte erst eine Zelle unter dem Bild matrkieren und mich dann hochbewegen.
Mir ist nich klar warum der Artikel nicht hinter der vorhnenden Artikelnummer geschrieben wird ode noch besser die Menge mit Plus oder Minus.
Gruß Hajo
Antwort 4 von gagfu vom 06.01.2019, 13:31 Options
Antwort 5 von Hajo_Zi vom 06.01.2019, 17:33 Options
Hallo Namensloser,
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
´ erstellt von Hajo.Ziplies@web.de 06.01.07
Dim RaBereich As Range, RaZelle As Range
Dim InI As Integer
Dim RaFound As Range
Dim LoLetzte As Long
´ Bereich der Wirksamkeit
Set RaBereich = Range("E12:E22, G12:G226")
´ noch mehr Bereiche
´ Set RaBereich = Union(Range("C7:I26"), Range("L7:R26"), Range("U7:AA26"), Range("AD7:AJ26"))
´ ActiveSheet.Unprotect ("Passwort")
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
If RaZelle.Column = 5 Then ´ Spalte E -1
InI = -1
Else ´ Spalte G +1
InI = 1
End If
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 9)), Cells(Rows.Count, 9).End(xlUp).Row, Rows.Count)
Set RaFound = Range("I1:I" & LoLetzte).Find(RaZelle, Range("I" & LoLetzte), , xlWhole, , xlNext)
If Not RaFound Is Nothing Then ´ Artikel wurde gefunden
Application.EnableEvents = False
RaFound.Offset(0, 2) = RaFound.Offset(0, 2) + 1 * InI
Application.EnableEvents = True
End If
End If
Next RaZelle
´ ActiveSheet.protect ("Passwort")
Set RaBereich = Nothing
End Sub
Gruß Hajo
Antwort 6 von gagfu vom 06.01.2019, 20:21 Options
Hallo Hajo,
vielen Dank, hast dir ja richtig Arbeit gemacht! ;)
allerdings zeigt er mir einen Syntaxfehler für die erste zeile (Private Sub Worksheet_Change(ByVal Target As Range)
an....
aber ich hab jetzt eh eine Formelbasierte Lösung gefunden, tortzdem Vielen Dank!
Antwort 7 von Hajo_Zi vom 06.01.2019, 21:04 Options
Hállo Namensloser,
Foren sind zum Austauschen von Lösungen da. Ich habe Deine Lösung nicht gefunden.
Zum Fehler brauche ich ja nichts mehr schreiben.
Gruß Hajo