Einleitung
Das Projekt „Vermögen“ umfasst insgesamt fünf Arbeitsblätter mit deren Hilfe eine Depotverwaltung durchgeführt werden kann. Um der Komplexität in einigen Bereichen vorzubeugen, soll sich das Projekt vornämlich auf Aktien und Investmentfonds beschränken. Eine automatische Aktualisierung der Kurse ist mit Hilfe einer Videotext tauglichen TV-Karte möglich. Im folgenden Projekt wurde die WinTV (NOVA-T) Karte von Hauppauge verwendet. Als Schwachstelle hat sich im folgenden Projekt die zeitliche Verzögerung der Anwendung herausgestellt, die in erster Linie durch die Vielfalt der Daten und zum anderen durch die Datenübertragung selbst hervorgerufen wird. Des weiteren kommt es unregelmäßig zu Fehlübertragungen. So kann es sein, dass zeitweise falsche Videotext Seiten übertragen werden bzw. empfangen werden. Eine zukünftige Kopplung mit einer separaten Datenbank ist in der Vorbereitung, wurde an dieser Stelle aber nicht weiter berücksichtigt. Im folgenden sollte demnach, unter Berücksichtigung der vorgenannten Problematik, darauf geachtet werden, dass nur entsprechend wenige Indizes tatsächlich aktiviert sind (vgl. Kap. 6). Ebenso hat es sich als vorteilhaft bei der Handhabung herausgestellt, den Aktualisierungsmodus nicht zu kurzfristig einzustellen. Allein aufgrund der vorhanden Videotextseiten des ZDF sind mehr als 8000 Kurse unterschiedlicher Fonds und Aktien verfügbar. Bei den Seiten der ARD werden die Kurse mit Punkten und nicht mit Kommata wie beim ZDF ausgegeben. Dies führte zu Fehlern bei den Excel-Verknüpfungen. An einer entsprechenden Konvertierungslösung muss noch gearbeitet werden. Ebenso ist die Aufnahme eines Formulars geplant, dass eine flexible Suchfunktion besitzt um ergänzende Kursinformationen in die Anwendung zu integrieren. Um nun die Übertragung der Daten aus dem Videotext zu gewährleisten ist es zunächst unbedingt erforderlich eine Skriptdatei anzulegen. Die Skriptdatei entspricht dann der eigentlichen Datenquelle, aus der die benötigten Informationen entnommen werden.
Inhaltsverzeichnis
Abbildungsverzeichnis
1. Einleitung
2. Worksheet („Depot“)
2.1 Der Kauf
2.1.1 Abbildung „Kauf“
2.1.2 Quelltext VBA
2.2 Der Verkauf
2.2.1 Abbildung „Verkauf“
2.2.2 Quelltext VBA
2.3 Der Barbestand
2.3.1 Abbildung „Barbestand“
2.3.2 Quelltext VBA
2.4 Gebühren
2.4.1 Abbildung „Gebühren“
2.4.2 Quelltext VBA
2.5 Datensatz löschen
2.5.1 Abbildung „Datensatz löschen“
2.5.2 Quelltext VBA
2.6 Kursdaten generieren und löschen
2.6.1 Abbildung „Kursdaten generieren und löschen“
2.6.2 Quelltext VBA
2.7 Kursdaten sortieren
2.7.1 Abbildung „Kursdaten sortieren“
2.7.2 Quelltext VBA
3. Worksheet („Orderbuch“)
3.1 Letzten Datensatz löschen
3.1.1 Quelltext VBA
3.2 Rechnungsabschluss
3.2.1 Quelltext VBA
4. Worksheet („Depotauszug“)
4.1 Drucken
4.1.1 Abbildung „Drucken“
4.1.2 Quelltext VBA
5. Worksheet („Chart“)
5.1 Auswahl Chart
5.1.1 Abbildung „Auswahl Chart“
5.1.2 Quelltext VBA
6. Worksheet („Konverter“)
6.1 Abbildung „Konverter“
6.2 Quelltext VBA
7. Modul 1 („Drucken und Kursaktualisierung“)
8. Modul 3 („Abruf der Videotextdaten“)
9. Modul 4 („Leere Zeilen im Konverter löschen“)
10. Modul 5 („Kurskontrolle“)
11. Modul 6 („Chartaktualisierung“)
12. Modul 7 („Speicher löschen“)
13. Der 24-Stunden Test
13.1 Abbildung „Beginn Test“
13.2 Abbildungen „Ende Test“
Literatur- und Quellenverzeichnis
Hiermit versichere ich, Tim Hamann, an Eides Statt, dass ich
die vorliegende Arbeit selbstständig und ohne Benutzung anderer
als der in den Fußnoten und im Literaturverzeichnis angegebenen
Quellen angefertigt habe.
Kiel, den 12.04.2005
Abbildungsverzeichnis
Abbildung 1 VTPlus Scriptdatei Quelle: Eigene Darstellung mit WinTV (NOVA-T).
Abbildung 2 Bildschirmansicht Videotext Seiten Quelle: Eigene Darstellung mit WinTV (NOVA-T).
Abbildung 3 Worksheet „Depot“ Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 4 Fehlermeldung Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 5 Das Kaufformular Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 6 Die Warnmeldung Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 7 Warnmeldung Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 8 Warnmeldung Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 9 Das Verkaufsformular Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 10 Formular Barbestand Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 11 Formular „Gebühren“ Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 12 Mehrere Datensätze im Orderbuch Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 13 Ein Datensatz im Orderbuch Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 14 Formular „Datensatz löschen“ Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 15 Kursdaten generieren und löschen Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 16 Kursdaten sortieren Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 17 Arbeitsblatt „Orderbuch“ Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 18 Warnmeldung „Keine Umsatzbuchungen“ Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 19 Arbeitsblatt „Depotauszug“ (1.Teil) Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 20 Arbeitsblatt „Depotauszug“ (2.Teil) Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 21 Depotausdruck Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 22 „Auswahl Chart“ Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 23 „Kursaktualisierung“ Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 24 „Konverter“ Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 25 Situation bei Aufnahme; Sonntag 10.04.2005 Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 26 Situation nach Börsentag; Montag 11.04.2005 Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 27 Chart „Adidas“; Montag 11.04.2005 Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 28 Chart „Allianz“; Montag 11.04.2005 Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 29 Chart „BASF“; Montag 11.04.2005 Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 30 Chart „Commerzbank“; Montag 11.04.2005 Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 31 Chart „Continental“; Montag 11.04.2005 Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 32 Chart „Infineon“; Montag 11.04.2005 Quelle: Eigene Darstellung unter Microsoft Excel.
Abbildung 33 Chart „Linde“; Montag 11.04.2005 Quelle: Eigene Darstellung unter Microsoft Excel.
1. Einleitung
Das Projekt „Vermögen“ umfasst insgesamt fünf Arbeitsblätter mit deren Hilfe eine Depotverwaltung durchgeführt werden kann. Um der Komplexität in einigen Bereichen vorzubeugen, soll sich das Projekt vornämlich auf Aktien und Investmentfonds beschränken. Eine automatische Aktualisierung der Kurse ist mit Hilfe einer Videotext tauglichen TV-Karte möglich. Im folgenden Projekt wurde die WinTV (NOVA-T) Karte von Hauppauge verwendet.
Als Schwachstelle hat sich im folgenden Projekt die zeitliche Verzögerung der Anwendung herausgestellt, die in erster Linie durch die Vielfalt der Daten und zum anderen durch die Datenübertragung selbst hervorgerufen wird. Des weiteren kommt es unregelmäßig zu Fehlübertragungen. So kann es sein, dass zeitweise falsche Videotext Seiten übertragen werden bzw. empfangen werden. Eine zukünftige Kopplung mit einer separaten Datenbank ist in der Vorbereitung, wurde an dieser Stelle aber nicht weiter berücksichtigt. Im folgenden sollte demnach, unter Berücksichtigung der vorgenannten Problematik, darauf geachtet werden, dass nur entsprechend wenige Indizes tatsächlich aktiviert sind (vgl. Kap. 6). Ebenso hat es sich als vorteilhaft bei der Handhabung herausgestellt, den Aktualisierungsmodus nicht zu kurzfristig einzustellen. Allein aufgrund der vorhanden Videotextseiten des ZDF sind mehr als 8000 Kurse unterschiedlicher Fonds und Aktien verfügbar. Bei den Seiten der ARD werden die Kurse mit Punkten und nicht mit Kommata wie beim ZDF ausgegeben. Dies führte zu Fehlern bei den Excel-Verknüpfungen. An einer entsprechenden Konvertierungslösung muss noch gearbeitet werden. Ebenso ist die Aufnahme eines Formulars geplant, dass eine flexible Suchfunktion besitzt um ergänzende Kursinformationen in die Anwendung zu integrieren.
Um nun die Übertragung der Daten aus dem Videotext zu gewährleisten ist es zunächst unbedingt erforderlich eine Skriptdatei anzulegen. Die Skriptdatei entspricht dann der eigentlichen Datenquelle, aus der die benötigten Informationen entnommen werden.
Abbildung 1: VTPlus Scriptdatei
Abbildung in dieser Leseprobe nicht enthalten
Quelle: Eigene Darstellung mit WinTV (NOVA-T).
Die Skriptdatei kann wie folgt bearbeitet werden:
Bei den Zahlen entspricht die erste Ziffer dem Programmkanal und die letzten drei Ziffern der Videotext Seite. Durch das setzten der „MULTICHANNEL“-Eigenschaft ist es möglich Videotext Seiten unterschiedlicher Kanäle zu nutzen. Des weiteren kann über den Befehl „WINDOW TILE“ die folgende Bildschirmansicht erreicht werden.
Abbildung 2: Bildschirmansicht Videotext Seiten.
Abbildung in dieser Leseprobe nicht enthalten Quelle: Eigene Darstellung mit WinTV (NOVA-T).
Beim Verlassen der Anwendung „Vermögen“ ist es wichtig den letzten Stand stets abzuspeichern, da bestimmte Daten wie zum Beispiel der Tagesschlusskurs in separaten Dateien automatisch gespeichert wird.
2. Worksheet („Depot“)
Das Arbeitsblatt „Depot“ umfasst alle relevanten Depotdaten. Neben der Erfassung der Einzelwerte wird auch der Barbestand sowie der aktuelle Gebührensatz und der aktuelle Gewinn und Verlust dargestellt. Mit entsprechenden Textkommentaren werden die relevanten Zellen erläutert und können vom Betrachter direkt ausgewählt werden. Außerdem ist das Arbeitsblatt die Quelle für fast alle auf Excel basierenden Programmierungen. Die eigentliche Erfassung und Bearbeitung der Einzelwerte erfolgt fast ausschließlich über die angeordneten Buttons. Die Aktualisierung der Kurse kann bei Aufruf der Anwendung „Vermögen“ im Rhythmus der Aktualisierung der Videotext Seiten gewählt werden. Hierfür bei Start der Anwendung bei der Frage nach der Aktualisierung mit OK bestätigen. Alternativ kann aber auch ein anderer Aktualisierungsrhythmus gewählt werden durch manuelle Eingabe im Feld unterhalb des Feldes „Aktualisierungstakt“. Hierfür zu Beginn bei der Frage nach der Aktualisierung „Nein“ wählen. Diese Funktion ist insbesondere dann ratsam, wenn mit größeren Datenmengen operiert wird um zu lange Aktualisierungszeiten zu verhindern. Der Takt sollte dann auf mindestens 60 Sekunden eingestellt werden. Neben den aktuellen Kursdaten existiert auch die Möglichkeit die „intraday“ Kursveränderungen zu beobachten (G+V / Heute).
Ausschlaggebend für die jeweilige Berechnung ist der letzte gespeicherte Kurs des Vortages.
Abbildung 3: Worksheet „Depot“
Abbildung in dieser Leseprobe nicht enthalten
Quelle: Eigene Darstellung unter Microsoft Excel.
2.1 Der Kauf
Drückt man den Button „Kauf“, so erscheint das Formular „Kauf“. Hinter dem Feld „Bezeichnung“ verbirgt sich eine ComboBox die alle im Konverter aktivierten Wertpapiere auflistet. Das gesuchte Wertpapier kann entweder mit Hilfe der Scroll- Methode gesucht oder einfach per Eingabe identifiziert werden. Die Verknüpfung zur entsprechenden Videotext Seite vollzieht sich nach dem Kauf automatisch. Sowohl der Name als auch der Kurs werden mit der Videotext Seite verknüpft, damit sich gegebenenfalls Verschiebungen innerhalb der Videotextseiten nicht nur im Kurs niederschlagen sondern offensichtlich werden. Entscheidend für die Identifizierung des Wertpapiers ist allerdings die Wertpapierkennnummer (WPKN od. WKN). Sie dient bei Nachkäufen z.B. um den Einstiegskurs zu senken als eindeutiges Identifizierungsmerkmal damit Verwechslungen bei Vorzugs und Stammaktien vorgebeugt wird.[1] Des Weiteren muss im folgenden ausgewählt werden ob es sich um Aktien oder Fonds handelt. Bei Fonds fallen keine direkten Kaufgebühren an, die Kosten liegen dann zumeist in einem einmaligen Ausgabeaufschlag, der sich hier in Form eines niedrigeren Rücknahmekurses bzw. niedrigeren aktuellen Kurses niederschlägt. Ebenso fallen dann natürlich bei Fonds auch keine Verkaufsgebühren an!
Stückzahl und Kurs sind ebenfalls zu ergänzen. Das Kaufdatum wird automatisch auf den aktuellen Tag gesetzt. Abweichungen müssen dementsprechend verändert werden. Die betroffenen Felder im Worksheet „Depot“ (Spalten: „Name“ bis „Kaufkurs“) können manuell auch direkt verändert werden. Die anderen Spalten mit Ausnahme von der Spalte „Aktuell“ sind mit Excel-Formeln versehen und sollten nicht manuell verändert werden.
Außerdem erfolgt bei jedem Kauf eine Überprüfung des Barbestands. Reicht die erforderliche Deckung nicht aus, so erfolgt im Anschluss an den Kauf eine Fehlermeldung und Rückabwicklung!
Abbildung 4: Fehlermeldung
Abbildung in dieser Leseprobe nicht enthalten
Quelle: Eigene Darstellung unter Microsoft Excel.
Bei eventuellen Nachkäufen wird automatisch der gewogene Einstiegskurs ermittelt und ins Worksheet übertragen und die Kaufgebühr zu den bestehenden oder verbleibenden Kaufgebühren addiert. Das Kaufdatum wird immer auf den letzten Nachkauf aktualisiert um Problemen bei der steuerlichen Bindungsfrist (aktuell 1 Jahr) entgegen zu wirken. Mit „Cancel“ kann jederzeit der Kaufvorgang abgebrochen werden.
2.1.1 Abbildung „Kauf“
Abbildung 5: Das Kaufformular
Abbildung in dieser Leseprobe nicht enthalten
Quelle: Eigene Darstellung unter Microsoft Excel.
Werden nicht alle Felder ausgefüllt, erscheint eine Warnmeldung mit der Aufforderung auch die restlichen Felder auszufüllen.
Abbildung 6: Die Warnmeldung
Abbildung in dieser Leseprobe nicht enthalten
Quelle: Eigene Darstellung unter Microsoft Excel.
2.1.2 Quelltext VBA
Private Sub CommandButton1_Click()
Dim a As Single
Dim B As Single
Dim c As Single
Dim d As Single
Dim aa As Single
Dim bb As Single
Dim cc As Single
Dim dd As Single
Dim e As Single 'SpeicherVariablen
Dim f As Single 'SpeicherVariablen
Dim g As Variant 'Änderung 08.03.2005
Dim h As Variant 'Änderung 08.03.2005
Dim k As Variant 'gewogener Einstiegskurs
Dim i As Integer
Dim j As Integer
'Überprüfung ob alle Felder ausgefüllt sind ?
If (ComboBox1.Value = "") Or _
(TextBox2.Value = "") Or _
(TextBox3.Value = "") Or _
(TextBox4.Value = "") Then
'wenn nicht : Fehlermeldung
GoTo fehler
'andernfalls
Else
'Übertragung der Eingaben aus Form5 in freie Zeile !
For i = 4 To 23
If i = 23 Then ' Bedingung "Wenn" Tabelle voll "dann" Fehlermeldung+ Abbruch
MsgBox " Tabelle ist voll"
UserForm5.Hide
Exit Sub
End If
'Wenn Wert bereits vorhanden !
For j = 4 To 23
If (Cells(j, 3).Text = TextBox2.Text) Then
'Speichervariablen - alte Werte
e = Cells(j, 4).Text 'Stück
f = Cells(j, 5).Text 'Kaufkurs
g = Cells(j, 6).Text 'altes KaufDatum
h = Cells(j, 7).Text 'KaufGebühren
Cells(j, 4).Value = Cells(j, 4).Value + TextBox3.Value 'Neue Stückzahl
Cells(j, 6).Value = TextBox5.Value 'Neues Kaufdatum
k = ((e * f) + (TextBox3.Value * TextBox4.Value)) / (Cells(j, 4).Value) 'gewogener Kaufkurs
Cells(j, 5).Value = k
Cells(j, 5).NumberFormat = "#,##0.00 €"
'Berechnung der Kaufgebühren wenn Aktie bereits vorhanden
aa = TextBox3.Value * TextBox4.Value
'Wenn ausmachender Betrag > Mindesanlagesumme
If aa >= Cells(2, 3).Value Then
bb = Cells(1, 2).Value + (Cells(1, 3).Value + Cells(1, 4).Value) * aa / 100
'If bb < Cells(2, 4).Value Then 'Damit Mindestgebühr auf jeden Fall
'bb = Cells(2, 4).Value 'gezahlt wird auch wenn Anlagesumme größer
'End If 'Mindestanlagesumme!
Cells(j, 7).Value = Cells(j, 7).Value + bb
End If
If aa < Cells(2, 3).Value Then
'Wenn ausmachender Betrag < Mindesanlagesumme
bb = Cells(2, 4).Value
Cells(j, 7).Value = Cells(j, 7).Value + bb
End If
If OptionButton2 = True Then
'Wenn Fonds dann Kaufgebühr = 0
bb = 0
Cells(j, 7).Value = ""
End If
cc = aa + bb
'Kaufgebühren+ ausmachender Betrag
dd = Cells(25, 5) - cc
'Barbestand wird reduziert
Cells(25, 5) = dd
'Zelle aktualisieren
If dd < 0 Then
'Warnmeldung wenn Barbestand zu klein!
MsgBox "Sie haben Ihren Barbestand überschritten" & vbLf & _
"Bitte zahlen Sie zuerst was ein!"
'Alles wieder löschen!
'Speichervariablen kommen zum Einsatz
Cells(j, 4).Value = e
Cells(j, 5).Value = f
Cells(j, 6).Value = g
Cells(j, 7).Value = h
Cells(25, 5) = Cells(25, 5) + cc
UserForm5.Hide
End If
UserForm5.Hide
Exit Sub
Else
End If
Next j
' Wenn die Aktie neu ist dann geht's hier weiter.
'Übertragung der Eingaben aus Form5 in freie Zeile !
If (Cells(i, 2).Text = "") And _
(Cells(i, 3).Value = "") And _
(Cells(i, 4).Value = "") And _
(Cells(i, 5).Value = "") And _
(Cells(i, 6).Value = "") Then
'25.03.2005
ComboBox1.BoundColumn = 3
Cells(i, 2).Value = "=" & ComboBox1.Value 'Übertragung Formel(Name der Aktie) in Zelle 25.03.05
ComboBox1.BoundColumn = 4
Cells(i, 9).Value = "=" & ComboBox1.Value 'Übertragung Formel(Kurs der Aktie) in Zelle 25.03.05"
Cells(i, 3).Value = TextBox2.Value
Cells(i, 4).Value = TextBox3.Value
Cells(i, 5).Value = TextBox4.Value
Cells(i, 5).NumberFormat = "#,##0.00 €"
Cells(i, 6).Value = TextBox5.Value
'Berechnung der Kaufgebühren
a = TextBox3.Value * TextBox4.Value
'Wenn ausmachender Betrag > Mindesanlagesumme
If a >= Cells(2, 3).Value Then
B = Cells(1, 2).Value + (Cells(1, 3).Value + Cells(1, 4).Value) * a / 100
'If b < Cells(2, 4).Value Then 'Damit Mindestgebühr auf jeden Fall
'b = Cells(2, 4).Value 'gezahlt wird auch wenn Anlagesumme größer
'End If 'Mindestanlagesumme!
Cells(i, 7).Value = B
End If
If a < Cells(2, 3).Value Then
'Wenn ausmachender Betrag < Mindesanlagesumme
B = Cells(2, 4).Value
Cells(i, 7).Value = B
End If
If OptionButton2 = True Then
'Wenn Fonds dann Kaufgebühr = 0
B = 0
Cells(i, 7).Value = ""
End If
c = a + B
'Kaufgebühren + ausmachender Betrag
d = Cells(25, 5) - c
'Barbestand wird reduziert
Cells(25, 5) = d
'Zelle aktualisieren
If d < 0 Then
'Warnmeldung wenn Barbestand zu klein!
MsgBox "Sie haben Ihren Barbestand überschritten" & vbLf & _
"Bitte zahlen Sie zuerst was ein!"
Cells(i, 2).Value = ""
'Alles wieder löschen!
Cells(i, 3).Value = ""
Cells(i, 4).Value = ""
Cells(i, 5).Value = ""
Cells(i, 6).Value = ""
Cells(i, 7).Value = ""
Cells(i, 9).Value = "" '04.04.05
Cells(i, 10).Value = "" '04.04.05
Cells(25, 5) = Cells(25, 5) + c '04.04.05
UserForm5.Hide
End If
UserForm5.Hide
Exit Sub
Else
End If
Next i
End If
Exit Sub
fehler:
MsgBox "Bitte füllen Sie alle Felder aus! "
End Sub
Private Sub CommandButton2_Click()
UserForm5.Hide
End Sub
Private Sub UserForm_Initialize()
TextBox5.Value = Date
End Sub
2.2 Der Verkauf
Drückt man den Button „Verkauf“ erscheint das Verkaufsformular. Es erscheint der aktuelle Bestand der verschiedenen, bereits vorhandenen Wertpapiere. Neben den zur Auswahl stehenden Wertpapieren muss die Anzahl und der Verkaufskurs eingegeben werden. Der jeweilige Bestand maximal zu verkaufender Wertpapiere wird angezeigt. Das Verkaufsdatum ist grundsätzlich das aktuelle Datum; kann aber auch abgeändert werden. Wird nun versucht mehr zu verkaufen, als im Bestand vorhanden, so erscheint eine Warnmeldung. Das Feld für die Anzahl wird dann automatisch geleert und das Formular soweit es ausgefüllt ist erhalten.
Abbildung 7: Warnmeldung
Abbildung in dieser Leseprobe nicht enthalten
Quelle: Eigene Darstellung unter Microsoft Excel.
Wird ein Feld nicht ausgefüllt oder falsch ausgefüllt z.B. kein Integer-Wert bei „Anzahl“ so erscheint ein entsprechender Hinweis.
Abbildung 8: Warnmeldung
Abbildung in dieser Leseprobe nicht enthalten
Quelle: Eigene Darstellung unter Microsoft Excel.
Mit Hilfe von „Cancel“ kann der Verkaufsauftrag jederzeit abgebrochen werden.
2.2.1 Abbildung „Verkauf“
Abbildung 9: Das Verkaufsformular
Abbildung in dieser Leseprobe nicht enthalten
Quelle: Eigene Darstellung unter Microsoft Excel.
2.2.2 Quelltext VBA
Private Sub CommandButton1_Click()
Dim t As Long
'Orderbuch Eingaben
Dim B As Range
Dim c As Range
Dim d As Range
Dim e As Range
Dim f As Range
Dim g As Range
Dim w As Single
Dim y As Single
Dim z As Single
Dim x As Currency
Dim vg1 As Variant
Dim vg2 As Variant
Dim vg3 As Variant
Dim vg4 As Variant
Dim vg5 As Variant
Dim fg As Variant
Dim mg As Variant
Dim mc As Variant
Dim ma As Variant
Dim bp As Variant
On Error GoTo fehler
t = TextBox1.Text
z = Worksheets("Depot").Cells(ListBox1.ListIndex + 4, 4)
y = Worksheets("Depot").Cells(ListBox1.ListIndex + 4, 7)
x = y / z * t
w = y - x
If t > Worksheets("Depot").Cells(ListBox1.ListIndex + 4, 4).Value Then
MsgBox "Bestand zu klein! "
TextBox1.Value = ""
Exit Sub
End If
'Überprüfung ob alle Felder ausgefüllt
If TextBox1 = "" Or TextBox2 = "" Or TextBox3 = "" Or ListBox1.Text = "" Then
GoTo fehler
End If
'Felder aus Formular 1 dem Orderbuch zuordnen
If t <= Worksheets("Depot").Cells(ListBox1.ListIndex + 4, 4).Value Then
'Bestand um Anzahl des Verkaufs reduzieren
Worksheets("Depot").Cells(ListBox1.ListIndex + 4, 4).Value = _
Worksheets("Depot").Cells(ListBox1.ListIndex + 4, 4).Value - t
' Anteilige Gebühren reduzieren Formel s.o. w = y (bisherige Kaufgebühren) - x
' (Kaufgebühren geteilt durch die Anzahl der vorhandenen Aktien *
'zu verkaufende Aktien in TextBox1
Worksheets("Depot").Cells(ListBox1.ListIndex + 4, 7) = w
Set B = Range("Orderbuch!b3:b600")
Set B = B.Find("")
B.Value = ListBox1.Value
Set c = Range("Orderbuch!g3:g600")
Set c = c.Find("")
c.Value = TextBox2.Value
Set d = Range("Orderbuch!h3:h600")
Set d = d.Find("")
d.Value = TextBox3.Value
Set e = Range("Orderbuch!c3:c600")
Set e = e.Find("")
e.Value = TextBox1.Value
'Kaufdatum in Orderbuch übertragen - 'SVERWEIS geht nicht wg. Zukäufen
Dim ll As Range
'da anderes Datum auch für alte Käufe übernommen wird!
Set ll = Range("Orderbuch!e3:e600")
Set ll = ll.Find("")
ll.Value = Worksheets("Depot").Cells(ListBox1.ListIndex + 4, 6)
Set f = Range("Orderbuch!f3:f600")
'Anteilige Kaufgebühren-Berechnung
Set f = f.Find("")
f.Value = x 'anteilige Gebühren
'definieren der Variablen für Berechnung Verkaufsgebühr
vg2 = TextBox1.Value
vg3 = TextBox2.Value
vg4 = vg2 * vg3
fg = Worksheets("Depot").Cells(1, 2).Value
mg = Worksheets("Depot").Cells(2, 4).Value
't= Anzahl verkaufter Werte
mc = Worksheets("Depot").Cells(1, 3).Value
ma = Worksheets("Depot").Cells(2, 3).Value
bp = Worksheets("Depot").Cells(1, 4).Value
If (vg4 < ma) And _
(mg > 0) And _
(ma > 0) Then
vg1 = mg
End If
If (vg4 >= ma) Then
vg1 = (vg4 / 100) * (mc + bp) + fg
'If vg1 < mg Then
'Auf keinen Fall kleiner als Mindestgebühr!
'vg1 = mg
'Hier extra nicht aktiviert !
'End If
End If
If x = 0 Then 'x=anteilige Gebühren=0 dann Fondskäufe
vg1 = 0
End If
'Setzen der Verkaufsgebür an die entsprechende Stelle im Orderbuch
Set g = Range("orderbuch!i3:i600")
'Variablen vg1,vg2,vg3
Set g = g.Find("")
g.Value = vg1
'vg1 =Verkaufsgebühr
'Netto-Erlös
vg5 = vg4 - vg1
'Barbestand 05.04.04
Worksheets("Depot").Cells(25, 5) = Worksheets("Depot").Cells(25, 5) + vg5
UserForm1.Hide
End If
Exit Sub
fehler: MsgBox "Bitte überprüfen Sie Ihre Eingaben!" & vbLf & _
"Haben Sie was vergessen?"
TextBox1.Text = ""
TextBox2.Text = ""
End Sub
Private Sub CommandButton2_Click()
UserForm1.Hide
TextBox1.Text = ""
TextBox2.Text = ""
End Sub
Private Sub ListBox1_Click() 'TestBereich!
Label4.Visible = True
Label4.Caption = "Maximal " & Worksheets("Depot").Cells(ListBox1.ListIndex + 4, 4) & " Stück vorhanden!"
'Anzeige der anteiligen Kaufgebühren
'zu testen ob richtige Variable ausgewählt wurde
'Label5.Caption = Worksheets("Depot").Cells(ListBox1.ListIndex + 4, 7)
End Sub
End Sub
Private Sub TextBox2_Enter()
'''Währung'''
End Sub
Private Sub UserForm_Activate()
'Damit Form1 auch bei mehreren Verkäufen hinter einander immer aktualisiert wird.
Label4.Caption = "Maximal " & Worksheets("Depot").Cells(ListBox1.ListIndex + 4, 4) _
& " Stück vorhanden!"
End Sub
Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 1
ListBox1.RowSource = "depot!b4:b23"
TextBox3.Value = Date
Label4.Visible = False
Label4.Visible = True
End Sub
2.3 Der Barbestand
Mit Hilfe des Buttons „Barbestand“, lässt sich die Liquidität unmittelbar beeinflussen. Es besteht zum einen die Möglichkeit den Barbestand auf Null zu reduzieren und zum anderen können auch Ein- und Auszahlungen vorgenommen werden. Das Feld „Aktueller Barbestand“ im Worksheet „Depot“ wird anschließend, nachdem „OK“ gedrückt wurde, sofort angepasst.
Mit Hilfe von „Cancel“ kann der Vorgang jederzeit abgebrochen werden.
2.3.1 Abbildung „Barbestand“
Abbildung 10: Formular Barbestand
Abbildung in dieser Leseprobe nicht enthalten
Quelle: Eigene Darstellung unter Microsoft Excel.
2.3.2 VBA Quelltext
Private Sub CommandButton1_Click()
'Barbestand Nullen
TextBox1.Value = 0
Worksheets("Depot").Cells(25, 5).Value = 0
End Sub
Private Sub CommandButton2_Click()
Dim a As Variant
a = Worksheets("Depot").Cells(25, 5).Value
'Bereich Einzahlungen
If OptionButton1.Value = True Then
a = TextBox2.Value + a
Worksheets("Depot").Cells(25, 5).Value = a
End If
'Bereich Auszahlungen
If OptionButton2.Value = True Then
If TextBox2.Value <= TextBox1.Value Then 'Kontrolle Barbestand!
a = a - TextBox2.Value
Worksheets("Depot").Cells(25, 5).Value = a
Else
MsgBox "Sie haben nicht genug Barbestand!" & vbLf & _
"Sie können nicht mehr abheben als Sie besitzen!"
End If
End If
UserForm4.Hide
End Sub
Private Sub CommandButton3_Click()
UserForm4.Hide
End Sub
Private Sub TextBox1_Change()
End Sub
Private Sub UserForm_Activate()
TextBox1.Value = Worksheets("Depot").Cells(25, 5).Value
TextBox2.Value = 0
End Sub
Private Sub UserForm_Initialize()
TextBox1.Value = Worksheets("Depot").Cells(25, 5).Value
TextBox2.Value = 0
End Sub
[...]
[1] Vorzugs und Stammaktien unterscheiden sich oftmals nur anhand der letzten Ziffer der sechsstelligen WPKN.
- Arbeit zitieren
- Tim Hamann (Autor:in), 2005, Vermögensverwaltung, München, GRIN Verlag, https://www.grin.com/document/41954
-
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen.