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

Daten über DDE Schnittstelle

Daten über DDE Schnittstelle
01.11.2003 17:32:57
fheinig
Hallo,

Ich erhalte Börsendaten über die DDE Schnittstelle. Diese werden über DDE ständig aktuallisiert, aber nur in der ausgewählten Zelle.
Ich möchte nun bei jeder Aktuallisierung den neuen Wert in die unter dem vorherigen Wert liegende Zelle schreiben und somit eine Kursliste über den ganzen Tag erstellen.
Wie könnte dies möglich sein?

MfG F.Heinig

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten über DDE Schnittstelle
01.11.2003 21:18:16
K.Rola
Hallo,

teste doch mal, ob die Datenübertragung ein Change- Ereignis in der
Tabelle auslöst. Mit der rechten Maustaste auf das Tabellenregister klicken, Code anzeigen und dort aus dem linken dropdown Worksheet auswählen.
Es wird ein Prozedurrahmen für das SelectionChange- Ereignis erzeugt.
Wähl nun aus dem rechten dropdown das Change- Ereignis und gib mal ein:
msgbox "changed"
Teil mal mit, ob da was passiert, wenn Daten eintrudeln.

Gruß K.Rola
AW: Daten über DDE Schnittstelle
01.11.2003 23:00:35
Nepumuk
Hallo K.Rola,

das Problem hatte ich schon mal. Die DDE - Verbindung löst, wie eine Formel oder Verknüpfung, kein Change - Ereignis aus. Die einzige Möglichkeit war, mit OnTime eine Abfrage zu starten und, falls eine Zelle gefüllt wurde, einen Zähler hoch zu setzen der die nächste Zeile angab.

Gruß
Nepumuk
Anzeige
AW: Daten über DDE Schnittstelle
02.11.2003 00:20:42
K.Rola
Hallo, Nepumuk,

long time not seen!

Da kann man doch bestimmt was mit Calculate tricksen, indem
man sich auf die fragliche Zelle bezieht und eine Pseudo- Berechnung
macht, oder wie siehst du, als Experte, das?

Gruß K.Rola
AW: Daten über DDE Schnittstelle
02.11.2003 01:21:19
Nepumuk
Hallo K.Rola,

ich musste zum Rapport und zur Schulung nach Stockholm.

Mit Calculate, wie du als Profi richtig feststellst, geht das natürlich auch. In eine Zelle die Summe der betroffenen Spalte zum Beispiel. Wenn diese Summe dann durch die Anzahl der gefüllten Zeilen geteilt wird, kommt sogar ein statistisch verwertbarer Durchschnitt dabei heraus.

Gruß
Nepumuk
Anzeige
Calculate?
02.11.2003 09:45:26
Reinhard
Moin Nepumuk KRola,
ich versteh da grad nur das Gebäude wo die Bahnhofsuhr dranhängt:-)

Also, ich habe die Formeln:
in A1: =A2+A3
in D1: =Summe(A1:A3)/3

weiterhin habe ich in Tabelle1:


Private Sub Worksheet_Change(ByVal Target As Range)
'Calculate
Range("A1").Calculate
Range("A2").Calculate
Range("A3").Calculate
Range("D1").Calculate
If Target.Address(0, 0) <> A1 Then Exit Sub
MsgBox "hier"
End Sub


Die Idee mit dem Ontime habe ich kapiert. Ich starte bei workbook_open oder worksheet_activate ein Timer Makro dass mir A1 alle 3 sekunden ausliest, mit dem alten Wert vergleicht und dann dementsprechend handelt.
Aber mit Calculate kann ich da nichts 'tricksen', also aus einer Formel ein Change-Ereignis auslösen. Zumindest komme ich da nicht auf den 'Trick'
Wie geht er denn?
Danke.
Gruß
Reinhard
Anzeige
AW: Calculate?
02.11.2003 10:45:00
Nepumuk
Hallo Reinhard,
Calculate ist ein Ereignis des Worksheetobjektes. Es kommt in das Klassenmodul der Tabelle und hat die einfache Syntax: Private Sub Worksheet_Calculate()
So wie Worksheet_Change, Worksheet_SelectionChange ...... . Die Ereignisse findest du in der rechten Combobox über dem Editorfenster.
Gruß
Nepumuk
axo
02.11.2003 11:16:20
Reinhard
Hallo Nepumuk,
dieses Calculate meinst du. Alles klar, danke dir.
Hatte das noch nie benutzt weil ich keinen Grund sah.
Wieder was gelernt
Gruß
Reinhard
AW: Daten über DDE Schnittstelle
03.11.2003 12:57:30
Karl-Otto Reimann
Hallo fheinig


Sub min_1()
NextTime = Now + TimeValue("00:01:00")
Application.OnTime NextTime, "min_1"
Application.ScreenUpdating = False
Sheets("data").Select
varCol = 1
If varCol = "" Then Exit Sub
Set rng = Cells(Rows.Count, CInt(varCol)).End(xlUp)
rng.Offset(1, 0).Select
With ActiveCell
'''In A2:BO2 stehen Verknüpfungen über eine DDE-Schnittstelle, die automatisch
'''aktuakisiert werden (Extras/Optionen/Berechnen/Remotebezüge aktualisieren)
'''und jede Minute kommt eine neue Zeile unter die letzte
Range(.Offset(0, 0), .Offset(0, 66)).Value = Sheets("Data").Range("a2:bo2").Value
End With
End Sub


Gruß KO
Anzeige
AW: Daten über DDE Schnittstelle
03.11.2003 18:01:52
Karl-Otto Reimann
Nicht weglaufen, ich hatte hier auf eine Antwort gewartet, wird doch sonst
alles zu unübersichtlich.

Also: In welcher Form werden Deine Daten importiert, oder anders gefragt:
welches Programm übernimmt die Server-Funktion?
Was passiert, wenn Du unter Extras/Optionen/Berechnen/Remotebezüge aktualisieren
das Häkchen setzt?
AW: Daten über DDE Schnittstelle
03.11.2003 20:00:35
Falk Heinig
Hallo,

danke für die schnelle Reaktion!
Ich bin jetzt schon einen Schritt weiter, habe mit Hilfe von andreas e schon das Makro eingebaut, leider gibt es ein Problem: Laufzeitfehler "9" - Index außerhalb des gültigen Bereichs ist die Anzeige, Du kannst damit bestimmt was anfangen, ich leider nicht.
??????????????
Zu Deiner Frage:
Die Daten kommen vom Videotextprogramm einer Hauppauge TV Karte, nennt sich VT plus, mann markiert den Bereich, den mann übertragen will, und gibt die Daten über "kopieren" an die DDE Schnittstelle weiter.
In Excel lese ich die Daten dann über "Inhalte einfügen" und verknüpfen in die Zellen A1 und B1 ein. Funkt. einwandfrei.
Es wird jedoch immer nur in der jeweiligen Zelle geändert.
Idealer Fall währe, wenn ein Datensatz in Spalte A und ein Datensatz in Spalte B fortlaufend untereinander abgelegt würde.(ist wichtig für die Weiterverarbeitung der Daten)
Ich hoffe du kannst mit meiner Erklärung etwas anfangen.

MfG Falk Heinig
Anzeige
AW: Daten über DDE Schnittstelle
04.11.2003 10:04:35
Karl-Otto Reimann
Hallo Falk

In A2 steht folgende Verknüpfung: =VTPLUS|NTV215!'1,1,,,B(7/5/12/5)'
in A3: =VTPLUS|NTV215!'1,1,,,B(35/5/39/5)'

Wenn Du unter Extras/Optionen/Berechnen/Remotebezüge aktualisieren das Häkchen setzt
und unter Extras/Optionen/Berechnen/Automatisch die Berechnung automatisierst,
werden dann die Daten automatisch aktualisiert?
Gruß KO
AW: Daten über DDE Schnittstelle
04.11.2003 17:14:39
fheinig
Hallo,

in A2 steht: =VTPlus|'S01_201'!'1,1,,,B(14/14/20/14)'
in B2 steht: =VTPlus|'S01_201'!'1,1,,,B(35/14/39/14)'
Ich habe wegen der Weiterverarbeitung der Daten den 2. Datensatz in B2 importiert.

___Wenn Du unter Extras/Optionen/Berechnen/Remotebezüge aktualisieren das Häkchen setzt
und unter Extras/Optionen/Berechnen/Automatisch die Berechnung automatisierst,
werden dann die Daten automatisch aktualisiert?___

Häkchen sind gesetzt, Daten werden einwandfrei in den Zellen A2 und B2 aktuallisiert.
Beim Starten des Makros erfolgt o.g. Fehlermeldung??????????????
Als Anlage habe ich Dir mal meine Datei beigelegt.
https://www.herber.de/bbs/user/1742.xls

Vielen Dank im Voraus!!!!!!!!!!

MfG F.Heinig
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige