Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ausbuchung einer gesammten Reihe

Forumthread: Ausbuchung einer gesammten Reihe

Ausbuchung einer gesammten Reihe
18.12.2006 10:17:08
Christian
Hallo Profis,
ich habe für ein Tabellenwerk eine Userform gebastelt . Eingaben funktionieren. Aber das Problem besteht darin, dass wenn der User einen Posten ausbuchen will, dann soll er das auch über die gleiche UserForm machen, über die er Eingaben tätigt.
Also nur durch das Umschalten der Optionsgruppe (OptionButto3 und 4) soll VBA die Sprungmarke "Manteltresor_Abgang:" bzw. “Bogentresor_Abgang:“ ansteuern. Dann soll der User die Buchungsbelegnummer eingeben und Excel soll aus dem Tabellenblatt die Reihe mit genau dieser Buchungsbelegnummer über CutCopie und Paste in ein anderes Tabellenblatt (Archiv) einkopieren.
Das habe ich bisher:
Public

Sub Eintragen()
Datum = TextBox1.Value
Name = TextBox2.Value
Nennwert = TextBox8.Value
Buchungsbelegnummer = TextBox7.Value
Erster_Freigeber = TextBox9.Value
Zweiter_Freigeber = TextBox10.Value
Dim gefunden As Range
If OptionButton1.Value = True And OptionButton3.Value = True Then GoTo Manteltresor_Zugang
If OptionButton2.Value = True And OptionButton3.Value = True Then GoTo Bogentresor_Zugang
If OptionButton1.Value = True And OptionButton4.Value = True Then GoTo Manteltresor_Abgang
If OptionButton2.Value = True And OptionButton4.Value = True Then GoTo Bogentresor_Abgang
Manteltresor_Zugang:
Set gefunden = Worksheets("Manteltresor").Range("I10:I769").Find("")
gefunden = Datum
Set gefunden = Worksheets("Manteltresor").Range("C10:C769").Find("")
gefunden = Name
Set gefunden = Worksheets("Manteltresor").Range("E10:E769").Find("")
gefunden = Nennwert
Set gefunden = Worksheets("Manteltresor").Range("H10:H769").Find("")
gefunden = Buchungsbelegnummer
Set gefunden = Worksheets("Manteltresor").Range("J10:J769").Find("")
gefunden = Erster_Freigeber
Set gefunden = Worksheets("Manteltresor").Range("K10:K769").Find("")
gefunden = Zweiter_Freigeber
GoTo Ende:
Bogentresor_Zugang:
Set gefunden = Worksheets("Bogentresor").Range("I10:I769").Find("")
gefunden = Datum
Set gefunden = Worksheets("Bogentresor").Range("C10:C769").Find("")
gefunden = Name
Set gefunden = Worksheets("Bogentresor").Range("E10:E769").Find("")
gefunden = Nennwert
Set gefunden = Worksheets("Bogentresor").Range("H10:H769").Find("")
gefunden = Buchungsbelegnummer
Set gefunden = Worksheets("Bogentresor").Range("J11:J769").Find("")
gefunden = Erster_Freigeber
Set gefunden = Worksheets("Bogentresor").Range("K11:K769").Find("")
gefunden = Zweiter_Freigeber
GoTo Ende:
Manteltresor_Abgang:
If Worksheets("Manteltresor").Range("H10:H769") Like (UserForm1.TextBox7.Value) Then Row copie
Worksheets("Archiv").Range("C10:C769").Find ("")
Set gefunden = Worksheets("Archiv").Range("C10:C769").Find("")
gefunden = Paste
GoTo Ende:
Bogentresor_Abgang:
If Worksheets("Bogentresor").Range("H10:H769") Like (UserForm1.TextBox7.Value) Then Row copie
Worksheets("Archiv").Range("C10:C769").Find ("")
Set gefunden = Worksheets("Archiv").Range("C10:C769").Find("")
gefunden = Paste
GoTo Ende:
Ende:
OptionButton1.Value = False
OptionButton2.Value = False
OptionButton3.Value = False
OptionButton4.Value = False
TextBox1.Value = ""
TextBox2.Value = ""
TextBox8.Value = ""
TextBox7.Value = ""
TextBox9.Value = ""
TextBox10.Value = ""
TextBox2.SetFocus
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausbuchung einer gesammten Reihe
18.12.2006 15:20:43
fcs
Hallo Christian,
ungetestet könnte etwa folgende Anpassung funktionieren. Dabei solltest du auch deinen Code für den Zugang anpassen, sieht etwas eleganter aus.
Gruß
Franz

Sub Eintragen()
Datum = TextBox1.Value
Name = TextBox2.Value
Nennwert = TextBox8.Value
Buchungsbelegnummer = TextBox7.Value
Erster_Freigeber = TextBox9.Value
Zweiter_Freigeber = TextBox10.Value
Dim gefunden As Range
If OptionButton1.Value = True And OptionButton3.Value = True Then GoTo Manteltresor_Zugang
If OptionButton2.Value = True And OptionButton3.Value = True Then GoTo Bogentresor_Zugang
If OptionButton1.Value = True And OptionButton4.Value = True Then GoTo Manteltresor_Abgang
If OptionButton2.Value = True And OptionButton4.Value = True Then GoTo Bogentresor_Abgang
Manteltresor_Zugang:
With Worksheets("Manteltresor")
Set gefunden = .Range("I10:I769").Find("")
gefunden = Datum
.Cells(gefunden.Row, "C").Value = Name
.Cells(gefunden.Row, "E").Value = Nennwert
.Cells(gefunden.Row, "H").Value = Buchungsbelegnummer
.Cells(gefunden.Row, "J").Value = Erster_Freigeber
.Cells(gefunden.Row, "K").Value = Zweiter_Freigeber
End With
GoTo Ende:
Bogentresor_Zugang:
With Worksheets("Bogentresor")
Set gefunden = Worksheets("Bogentresor").Range("I10:I769").Find("")
gefunden = Datum
.Cells(gefunden.Row, "C").Value = Name
.Cells(gefunden.Row, "E").Value = Nennwert
.Cells(gefunden.Row, "H").Value = Buchungsbelegnummer
.Cells(gefunden.Row, "J").Value = Erster_Freigeber
.Cells(gefunden.Row, "K").Value = Zweiter_Freigeber
End With
GoTo Ende:
Manteltresor_Abgang:
With Worksheets("Archiv")
Set gefunden = Worksheets("Manteltresor").Range("H10:H769").Find(Buchungsbelegnummer)
gefunden.EntireRow.Cut
.Cells(.Rows.Count, "C").End(xlUp).Offset(1, 0).EntireRow.Insert
End With
GoTo Ende:
Bogentresor_Abgang:
With Worksheets("Archiv")
Set gefunden = Worksheets("Bogentresor").Range("H10:H769").Find(Buchungsbelegnummer)
gefunden.EntireRow.Cut
.Cells(.Rows.Count, "C").End(xlUp).Offset(1, 0).EntireRow.Insert
End With
GoTo Ende:
Ende:
OptionButton1.Value = False
OptionButton2.Value = False
OptionButton3.Value = False
OptionButton4.Value = False
TextBox1.Value = ""
TextBox2.Value = ""
TextBox8.Value = ""
TextBox7.Value = ""
TextBox9.Value = ""
TextBox10.Value = ""
TextBox2.SetFocus
End Sub

Anzeige
AW: Ausbuchung einer gesammten Reihe
18.12.2006 16:30:17
Christian
hallo fcs, - Du bist`n Held !! -funktioniert einwandfrei !
aber leider kopiert vba nicht nur den Wert, sondern die gesammte Reihe, aber das krieg ich schon auch noch hin !!
;

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