Microsoft Excel

Herbers Excel/VBA-Archiv

Info aus mehreren Spaltenüberschriften entnehmen | Herbers Excel-Forum


Betrifft: Info aus mehreren Spaltenüberschriften entnehmen von: mopitz
Geschrieben am: 16.10.2008 13:34:19

Hallo,

Da mein Problem etwas komplex ist, füge ich eine Datei zur Veranschaulichung an.:
https://www.herber.de/bbs/user/56058.xls

Ich möchte in der ersten Tabelle zu den Spalte "Kunde"(kommt nur einmal vor) die Technologie reinschreiben lassen. Diese Info erhalte ich aus der "Tabelle 2 ". Ich möchte, dass mir alle Technologien (A,B, C,D,..) reingeschrieben wird, wo der eine Kunde auftaucht.
Achtung: jeder Kunde kann zwar in mehreren Technologien vertreten sein, aber wenn ja, dann nur genau EIN mal in der jeweiligen Spalte. Und in der Tabelle 1 und 2 kann ich nicht übermäßig viele Hilfsspalten hinzufügen, weil es schon recht überladen ist.

Ich kann leider für mein Problem nicht den SVERWEIS/WVerweis hernehmen.

Hat jemand eine Lösung??

  

Betrifft: AW: Info aus mehreren Spaltenüberschriften entnehmen von: AK
Geschrieben am: 16.10.2008 15:00:33

Hallo mopitz,

ich vermute, Du möchtest VBA lieber vermeiden. Daher hier mal eine Excelidee von mir. Ist zwar irgendwie umständlich und gefällt mir daher nicht wirklich, aber scheint trotzdem zu funktionieren und reicht Dir vielleicht auch schon:
https://www.herber.de/bbs/user/56060.xls

Grüße,
Andreas


  

Betrifft: AW: Info aus mehreren Spaltenüberschriften entnehmen von: mopitz
Geschrieben am: 16.10.2008 17:19:36

Hallo Andreas,

danke für deine Formel. Wie würde denn die VBA Lösung aussehen? .... wenn es nicht zu schwierig ist zu adaptieren, dann würde ich die Makrolösung auch nehmen. ALLERDINGS sind die Inhalte von Tabelle 2 in einem separaten Datei enthalten. Müßte dann noch wissen, wie ich die externe Datei im Makro "ansprechen" kann.

Gruß, mopitz


  

Betrifft: AW: Info aus mehreren Spaltenüberschriften entnehmen von: mopitz
Geschrieben am: 16.10.2008 20:16:32

Hallo,

ich habe mir nochmal die Formel mit Kombination von Funktionen"Wenn"; "und" & "Sverweis" angeschaut. Aber diese kann ich doch nicht auf 7 Technologien ausweiten,oder?? ... zumindest ich weiß nicht, wie ich die WENN-Logik auf die 7 Technologien adaptieren kann.

Für weitere Anregungen/Ideen bin ich Euch sehr dankbar.

Gruß, mopitz


  

Betrifft: AW: Info aus mehreren Spaltenüberschriften entnehmen von: AK
Geschrieben am: 16.10.2008 23:02:31

Hi Mopitz,

natürlich kannst du sie ausweiten, sie wird nur länger. Jeder WENN Block steht für eine Technologie. Ich hatte die Formel anfangs nur für 3 Technologien gebaut, weil nur 3 in der Beispieldatei waren. Hier die Formel für 7 Technologien:
https://www.herber.de/bbs/user/56065.xls

Du kannst sie jederzeit weiter ausbauen, falls Technologien dazu kommen. ABER: Die Grenze von 1024 Zeichen je Zelle kannst du nicht überschreiten!

Falls ich mir morgen nochmal die Zeit nehmen kann, schreibe ich dir natürlich noch ne VBA Lösung. Versprechen kann ich es jetzt allerdings nicht.

Gruß
Andreas


  

Betrifft: Vielen herzlichen Dank!!! von: mopitz
Geschrieben am: 17.10.2008 12:12:32




  

Betrifft: AW: Info aus mehreren Spaltenüberschriften entnehmen von: David
Geschrieben am: 17.10.2008 16:27:55

Hallo Mopitz,

ich kann mich erinnern, dass diese Problematik schon vor einiger Zeit mal Thema hier war. Ich hatte damals mit eine Formellösung gesucht, allerdings war die Angelegentheit schlussendlich nicht gelöst worden.

Hier mal eine VBA-Lösung von mir

Option Explicit

Sub Tech()

Dim i, j As Byte
Dim Kunde_Tech, Kunde, Tech As String
Dim wks_t, wks_s As Worksheet

Set wks_t = Sheets("Tabelle1")
Set wks_s = Sheets("Tabelle2")

For i = 4 To wks_t.Range("A65000").End(xlUp).Row
    Kunde = wks_t.Cells(i, 1)
        For j = 1 To 20 Step 3
            With wks_s
                Tech = Replace(.Cells(5, j), "Technologie ", "")
                With Range(.Cells(8, j), .Cells(.Range("A65000").Offset(, j - 1).End(xlUp).Row,  _
j))
                    If Not .Find(Kunde, LookIn:=xlValues, Lookat:=xlWhole) Is Nothing Then
                        Kunde_Tech = Kunde_Tech & Tech
                    End If
                End With
            End With
        Next
    If Kunde_Tech = "" Then Kunde_Tech = "nichts gefunden"
    wks_t.Cells(i, 2) = Kunde_Tech
    Kunde_Tech = ""
Next

End Sub


Die sollte auch bei Erweiterung über die bisher vorhandenen 7 Technologien hinaus funktionieren.

Rückmeldung wäre nett.

Gruß und schönes Wochenende

David


Beiträge aus den Excel-Beispielen zum Thema "Info aus mehreren Spaltenüberschriften entnehmen"