22.07.2019, 23:59 (Dieser Beitrag wurde zuletzt bearbeitet: 23.07.2019, 00:01 von truestory.)
Hallo zusammen,
ich stehe im Moment vor einem Problem bei dem ich nicht weiter komme.
Ausgangssituation:
Ich habe zwei Excel Dateien, eine Hauptdatei und eine Nebendatei. In der Hauptdatei befinden sich ID Nummern, die jeweils nur einmal auftauchen (keine doppelten Werte). Neben den ID´s befinden sich dort auch ein paar Infos. In der Nebendatei befinden sich ebenfalls ID´s (die denen der Hauptdatei zugeordnet werden können, hier treten Duplikate auf) mit noch mehr Informationen.
Ziel:
Ich möchte gerne, das ich alle Informationen zu einer ID in einem Excel Blatt (in der Hauptdatei) vereine (Spalte E). Die zusätzlichen Infos sollen dann am besten in eine Zelle geschrieben werden, andere Lösungen wären aber auch in Ordnung. Hauptsächlich geht es mir darum, die Infos aus der Nebendatei, den ID´s aus der Hauptdatei zuzuordnen.
Mir fehlt da im Moment der richtige Weg,
Vielleicht hat von euch ja jemand eine gute Idee, die mich weiter bringt.
Leider bekam ich eine Fehlermeldung, daher kann ich dir nicht sagen ob die Ausführung mein gewünschtes Ergebnis erzielt.
Sollten aber z.B. die Gründe aus dem Aktivitäten Blatt in einer Zeile im Datenblatt zusammengefasst werden (Beispiel für ID 100, Spalte I, Zeile 2 in "Daten" wären dann alle Gründe in einer Zelle, oder aber in mehreren Spalten, aber alles in einer Zeile gelistet), wäre dies mein gewünschtes Ergebnis.
Hintergrund:
Den ID´s sind unterschiedliche Arbeitsfolgen zugeordnet, bspw.
ID Nummer Arbeitschritt
100 Kunde in System erfasst
100 Kundenkontakt aufgenommen
101 Angebot verschickt
100 Rücksprache mit Vertrieb treffen
usw.
Es sollen also in Spalte I ("Daten") (oder in mehreren Spalten, aber in einer Zeile) alle Arbeitsschritte für die ID Nummer 100 zusamengefasst werden (in einer Zeile).
damit die Funktionen auch unter Office 64 bit ausgeführt werden können, muss die Anweisung PtrSafe, so wie es auch in der Fehlermeldung steht, verwendet werden.
Ändere deinen Code wie folgt ab:
Code:
Privat Declare PtrSafe Function FindWindow Lib........
Gruß
Alois
Weitere Informationen, Tipps, Tricks sowie Support-Unterstützung findest du auf unserer Webseite Excel-Inside.de
wenn sich die Meldung auf den Kalender bezieht, ist es nicht ausreichend PtrSafe hinzuzufügen.
Es muss zwischen 32 Bit und 64 Bit Excel unterschieden werden.
Im Modul zur Kalender-UserForm den Code oben bis zur Variable bCaption durch folgendes ersetzen.
Und testen, habe ich nur in Excel 32 Bit gemacht.
Code:
Option Explicit
Private Declare PtrSafe Function DrawMenuBar _
Lib "user32" (ByVal hwnd As LongPtr) As Long
Private Declare PtrSafe Function FindWindow Lib "user32" _
Alias "FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As LongPtr
Private Declare PtrSafe Function SendMessage Lib "user32" _
Alias "SendMessageA" (ByVal hwnd As LongPtr, _
ByVal wMsg As Long, ByVal wParam As LongPtr, lParam As Any) As LongPtr
Private Declare PtrSafe Function ReleaseCapture Lib "user32" () As Long
#If Win64 Then
Private Declare PtrSafe Function GetWindowLong Lib "user32" _
Alias "GetWindowLongPtrA" (ByVal hwnd As LongPtr, _
ByVal nIndex As Long) As LongPtr
Private Declare PtrSafe Function SetWindowLong Lib "user32" _
Alias "SetWindowLongPtrA" (ByVal hwnd As LongPtr, _
ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
#Else
Private Declare PtrSafe Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" (ByVal hwnd As LongPtr, _
ByVal nIndex As Long) As LongPtr
Private Declare PtrSafe Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" (ByVal hwnd As LongPtr, _
ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
#End If
Private Const GWL_STYLE As Long = -16
Private Const WS_CAPTION As Long = &HC00000
Ich kann mir so zwar eine Übersicht holen, über eine ID , jedoch sind die Informationen nicht in einer Zeile. Eine Zeile ist bei mir ein Datensatz, daher benötige ich die Infos aus dem Aktivitäten Blatt (bspw. für ID 100) in der Zeile 2 des Datenblattes. Ich habe nämlich nicht nur 5 oder 10 ID´s sondern tausende. Um die systematisch auswerten zu können brauche ich die Infos in einer Zeile.
Ist das überhaupt so möglich wie ich mir das vorstelle?
Benutzer, die gerade dieses Thema anschauen: 10 Gast/Gäste
Hinweis auf Angebot
Excel-Inside - lang Keine
Lösung gefunden? Du kannst Dich gerne an
unser erfahrenes Experten-Team
wenden um dein Anliegen zu besprechen. Gerne
erstellen wir auf dieser Basis ein Angebot. Sende deine Anfrage
einfach per
E-Mail an anfrage@excel-inside.de