Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Werte in separater Excel Datei finden und dazugehörige Wert wiedergeben
#1
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.

Vielen Dank im voraus

Tobias


Angehängte Dateien
.xlsx   Hauptdatei.xlsx (Größe: 8,37 KB / Downloads: 1)
.xlsx   Nebendatei.xlsx (Größe: 8,22 KB / Downloads: 1)
Zitieren
#2
Hallo Tobias,

das sind doch relationelle Daten, die kannst du auch getrennt lassen.

Schau dir mal mein Beispiel an, ist ähnlich aufgebaut ...

Die Zusatzinfos kriegst du, wenn du im gelben Feld eine ID wählst z.B. die 100 ... und dann auf den Button 'Aktivitäts-Management' klickst.

Kommt das ungefähr so hin ?


Angehängte Dateien
.xls   Adressverwaltung mit AktivitätenManagement.xls (Größe: 123,5 KB / Downloads: 5)
Zitieren
#3
Hallo Flotter Feger,

vielen Dank für deine Antwort.

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).

Danke schon mal für deine Hilfe!

Hier die Fehlermeldung

[Bild: Fehlermeldung.jpg]


Viele Grüße

Tobias
Zitieren
#4
Hallo,

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
Zitieren
#5
Hallo,

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
 
  Private Const HTCAPTION = 2
  Private Const WM_NCLBUTTONDOWN = &HA1
 
  Private hWndForm As LongPtr
  Private bCaption As Boolean

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 01/2011 - 06/2019 :: 04/2020 - 06/2022
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner (neu)
Zitieren
#6
... oder frau schmeißt die API einfach raus ... ist doch egal, ob der Kalender eine Kopfzeile hat. Angry 

Die Hauptsache ist doch, der TE kann sein völlig sinnloses 64 Bit Office weiter verwenden, ohne sich Gedanken zu machen.

Aber sei bitte so nett und sag das bei der nächsten Frage dazu ... egal in welchem Forum ... ein 64 Bit Office ist nichts normales ... danke.


Angehängte Dateien
.xlsm   Adressverwaltung mit AktivitätenManagement_ohneAPI.xlsm (Größe: 52,85 KB / Downloads: 11)
Zitieren
#7
Vielen Dank für die ganzen Antworten.

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?

VG
Tobias
Zitieren
#8
Hallo,

nochmal ... möglich ? Ja.

Sinnvoll ? Nein !

Selbst in Access oder einer anderen Datenbank, würde man die Daten in abhängigen Tabellen anlegen, die eine AutoID als Primärschlüssel hat.

Genau, wie in meinem Beispiel ... relationelle Daten eben.

Sabina
von meinem Blackberry gesendet
Zitieren
#9
Für Analysezwecke benötige ich aber relevante Daten (wie etwa Arbeitsschritte) in einem Datensatz (eine Zeile) Smile 

Naja ich schau mal wie ich es mache, vielen Dank für die Hilfe!
Zitieren
#10
Hallo,

... um die Tabelle zu analysieren ... Datenschnitt ... Pivot ... wie wäre es damit ?

Sabina
von meinem Blackberry gesendet
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 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


Powerd and supported by Excel-InsideSolutions