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

Forumthread: Aktientransaktion erfassen Schaltfläche VBA

Aktientransaktion erfassen Schaltfläche VBA
14.07.2024 13:39:13
null8fuff10
Hallo,

wenn ich in Eingabefeldern einen Aktiennamen und andere Daten eingebe (hier XETR:CCC3) und in einer Tabelle die korrekte Bezeichnung (hier THE COCA-COLA COMPANY (XETR:CCC3)) erhalten möchte, bekomme ich nach drücken der Schaltfläche, welche ein VBA Makro ausführt, die Fehlermeldung Laufzeitfehler 13; Typen unverträglich. Das Makro läuft nur, wenn XETR:CCC3 eins zu eins übernommen wird, nicht aber sobald ich in Spalte1 die Funktion "In Aktien konvertieren" ausgewählt habe.

Die korrekte Firmenbezeichnung wird für weitere Schritte benötigt. Wie bekomme ich die Firmenbezeichnung automatisch in ein Feld zur weiteren Bearbeitung?
Hier die Datei https://www.herber.de/bbs/user/170893.xlsm

und der VBA Code

Sub Test()


Dim Spalte1 As String, Kaufdatum As String, Anzahl As String, Einstandskurs As String
Worksheets("Datenerfassung Test").Select
Spalte1 = Range("I3")
Kaufdatum = Range("I4")
Anzahl = Range("I5")
Kurs = Range("I6")
Worksheets("Datenerfassung Test").Select
Worksheets("Datenerfassung Test").Range("A2").Select
If Worksheets("Datenerfassung Test").Range("A2").Offset(1, 0) > "" Then
Worksheets("Datenerfassung Test").Range("A2").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Spalte1
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Kaufdatum
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Anzahl
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Kurs

End Sub



Vielleicht alles etwas missverständlich .... für Rückfragen und Ideen bitte gerne eine Rückmeldung.
Vielen lieben Dank.

null8fuff10

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aktientransaktion erfassen Schaltfläche VBA
14.07.2024 14:23:35
ralf_b
Leider hab ich keinen Zugriff auf die Aktienfunktion, deshalb mal dein Code etwas aufgeräumt und ein zweites Makro das eine Formel in Spalte2 einfügt, die den Textwert aus Spalte 1 extrahiert. Offensichtlich ändert diese Aktiensache den Datentyp. Aber das kann ich nicht nachstellen. Einfach mal ausprobieren.


Sub Test()

Dim lstrow As ListRow

With Worksheets("Datenerfassung Test")

Set lstrow = .ListObjects(1).ListRows.Add

lstrow.Range(1).Value = .Range("I3")
lstrow.Range(2).Value = CDate(.Range("I4"))
lstrow.Range(3).Value = .Range("I5")
lstrow.Range(4).Value = .Range("I6")

End With
End Sub

Sub testuebernahmetext()

With Worksheets("Datenerfassung Test").ListObjects(1).ListColumns("Spalte2").DataBodyRange
.Formula = "=Text([@Spalte1],""@"")"
End With

End Sub
Anzeige
AW: Aktientransaktion erfassen Schaltfläche VBA
14.07.2024 14:50:34
null8fuff10
Hallo Ralf,

vielen Dank für die schnelle Antwort.

Leider funktioniert es nicht. In Spalte2 wird kein Wert ausgegeben, die Zelle bleibt leer.
Es ist doch korrekt, dass ich ein zweites Makro mit dem Namen testuebernahmetext erstelle und dieses dann im Makro Test eingebunden wird?
Ich habe leider so gar keine Erfahrung mit Makros, daher die Frage eines Unwissenden ;-)

Viele Grüße
null8fuff10

Anzeige
AW: Aktientransaktion erfassen Schaltfläche VBA
14.07.2024 15:04:23
ralf_b
naja ich hatte es eigentlich für einen zweiten Button vorgesehen. deshalb das extra Makro. denn die Umwandlung der Daten durch das Aktienaddin muß ja erst noch erfolgen.
aber ich kann das nicht gegenprüfen, da bei mir dieses Addin nicht zur Verfügung steht.
AW: Aktientransaktion erfassen Schaltfläche VBA
14.07.2024 16:03:41
null8fuff10
Schaltfläche1 funktioniert und die Eingaben werden in die Tabelle eingefügt.
Schaltfläche2 füllt die Spalte2 mit den Kürzeln, aber es wird in der Spalte2 als Formel eingefügt, was sich ja auch ohne Makro lösen lässt.
Da aber eine Formel hinterlegt ist, meckert es natürlich wenn ich "In Aktien konvertieren" auswähle. In Spalte2 müsste der Text aus Spalte1 automatisch hinein kopiert werden, ohne Verweise oder Formeln ... so als würde ich Zellen mit Strg+c kopieren und an anderer Stelle mit Strg+v (nur Werte) wieder einfügen.

Schaut aktuell so aus...

Userbild

Anzeige
AW: Aktientransaktion erfassen Schaltfläche VBA
14.07.2024 18:33:09
null8fuff10
G E L Ö S T

Vielen Dank ralf_b für die hilfreichen Ansätze!!!!!

Sub Test()

Dim lstrow As ListRow

With Worksheets("Datenerfassung Test")

Set lstrow = .ListObjects(1).ListRows.Add

lstrow.Range(1).Value = .Range("I3")
lstrow.Range(2).Value = CDate(.Range("I4"))
lstrow.Range(3).Value = .Range("I5")
lstrow.Range(4).Value = .Range("I6")
lstrow.Range(5).Value = .Range("I3")

End With

Dim Ende As Long
Ende = Range("E65536").End(xlUp).Select
Selection.ConvertToLinkedDataType ServiceID:=268435456, LanguageCulture:= _
"de-DE"


End Sub
Anzeige
AW: Aktientransaktion erfassen Schaltfläche VBA
14.07.2024 20:36:12
ralf_b
du könntest auch den einzelnen Wert, der gerade hinzugefügt wurde nur umwandeln, anstatt jedes mal die gesamte Liste.

 lstrow.Range(5).Value = .Range("I3").ConvertToLinkedDataType(ServiceID:=268435456, LanguageCulture:="de-DE")
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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