MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 03.07.2014, 22:41   #1
AlexFDS
Neuer Benutzer
Neuer Benutzer
Standard Frage - Wenn zwei Zellen gleich dann Inhalte nebeneinander ABER Anzahl gleiche Zellen variab

Hallo zusammen,

mein Name ist Alex und ich bin neu hier. Sagt mir bitte einfach, falls ich gegen die Forenetikette verstoße.

Zu meinem Problem:

Ich habe fünf Spalten. Wenn der Wert in Spalte A in einer Zeile identisch mit einer anderen ist, dann sollen die Inhalte aus Spalte B nebeneinander dargestellt werden. Also ZelleA23=5, Zelle A46=5, Zelle B23 = Bier, Zelle B46= Wein, dann soll auf einem neuen Blatt erscheinen A1=5,B1=Bier,C1=Wein. Leider weiß ich nie wie oft sich ein Wert in Spalte A wiederholt. Dies kann 3x sein, dies kann aber auch 15x sein. Dementsprechend ist die Anzahl der benötigten Zellen pro Wert unterschiedlich.

Ist mein Problem verständlich erklärt? Kann mir jemand helfen?
Das wäre großartig. Vielen vielen Dank!

Geändert von AlexFDS (03.07.2014 um 22:48 Uhr). Grund: Titel besser
AlexFDS ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 03.07.2014, 23:05   #2
Mc Santa
MOF Meister
MOF Meister
Standard

Zitat: von AlexFDS Beitrag anzeigen

Hallo zusammen,

mein Name ist Alex und ich bin neu hier. Sagt mir bitte einfach, falls ich gegen die Forenetikette verstoße.

Zu meinem Problem:

Ich habe fünf Spalten. Wenn der Wert in Spalte A in einer Zeile identisch mit einer anderen ist, dann sollen die Inhalte aus Spalte B nebeneinander dargestellt werden. Also ZelleA23=5, Zelle A46=5, Zelle B23 = Bier, Zelle B46= Wein, dann soll auf einem neuen Blatt erscheinen A1=5,B1=Bier,C1=Wein. Leider weiß ich nie wie oft sich ein Wert in Spalte A wiederholt. Dies kann 3x sein, dies kann aber auch 15x sein. Dementsprechend ist die Anzahl der benötigten Zellen pro Wert unterschiedlich.

Ist mein Problem verständlich erklärt? Kann mir jemand helfen?
Das wäre großartig. Vielen vielen Dank!

Hallo,

Meintest du hier vielleicht zwei Spalten?

VG
Mc Santa ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 03.07.2014, 23:30   #3
Mc Santa
MOF Meister
MOF Meister
Standard

Hallo,

schau mal ob du mit diesem Makro etwas anfangen kannst, Beispieldatei im Anhang:
Code:

Option Explicit

Sub datenStrukturieren()

    Application.ScreenUpdating = False
    
    Dim wsSrc As Worksheet, wsTar As Worksheet
    Dim lastRow As Long
    Dim rng As Range, dest As Range
    
    Set wsSrc = Worksheets("Quelle")
    Set wsTar = Worksheets("Ziel")
    
    lastRow = wsSrc.Cells(Rows.Count, 1).End(xlUp).Row
    
    wsTar.Cells.Clear
    For Each rng In wsSrc.Range(wsSrc.Cells(1, 1), wsSrc.Cells(Rows.Count, 1).End(xlUp))
    
        Set dest = Nothing
        Set dest = wsTar.Cells(1, 1).EntireColumn.Find(What:=rng.Value, After:=wsTar.Cells(1, 1), LookIn:=xlValues, LookAt _
            :=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=False)
        If dest Is Nothing Then
            wsTar.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 2) = Array(rng, rng.Offset(, 1))
        Else
            dest.End(xlToRight).Offset(, 1) = rng.Offset(, 1)
        End If
        
    Next rng
    
    Application.Goto wsTar.Cells(1, 1), True
    Application.ScreenUpdating = True
      
End Sub
Fragen dazu gerne, freue mich über Feedback
VG
Angehängte Dateien
Dateityp: xlsm Daten aufteilen.xlsm (19,5 KB, 10x aufgerufen)
Mc Santa ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.07.2014, 11:30   #4
AlexFDS
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard Klappt nicht

Hi Santa,

habe das gerade probiert. Erst habe ich meine Originaldaten eingefügt. Da ging es nicht. Dann habe ich es mit Deiner Beispieltabelle versucht. Auch da kam die Fehlermeldung "Argument nicht gefunden". Schade. Ich dachte ich hätte dieses Problem gelöst.

Würdest Du es Dir nochmal anschauen?

Viele Grüße,

Alex
AlexFDS ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.07.2014, 11:37   #5
Mc Santa
MOF Meister
MOF Meister
Standard

Hallo,

zunächst: War denn meine Verbesserung richtig, oder habe ich das Falsch interpretiert?

Und: Wo tritt der Fehler auf, in welcher Zeile? Welche Excel-Version benutzt du?

Bei mir geht es in Excel 2003, 2007 und 2010
VG
Mc Santa ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.07.2014, 11:52   #6
AlexFDS
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hi Santa,

im Endeffekt war meine Beschreibung schon richtig. Ich habe tatsächlich fünf Spalten, von diesen sind aber nur zwei Spalten relevant. Also habe diese beiden Spalten in deine Vorlage kopiert, was nicht funktioniert hat. Der Fehler tritt in keiner Zeile auf. Es heißt sofort wenn ich auf deinen Button klicke "Argument nicht gefunden".

Ich nutze (jetzt schlag mich nicht) Excel 2011 für Mac
AlexFDS ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.07.2014, 11:55   #7
Mc Santa
MOF Meister
MOF Meister
Standard

Hallo,

OK, dann müssen wir mal schauen, woran es liegt...

Wenn die Fehlermeldung aufkommt, wird dann eine Zeile gelb markiert? Wenn ja, welche Zeile?
Und wie genau lautet die Fehlermeldung?

VG
Mc Santa ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.07.2014, 12:03   #8
AlexFDS
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo,

es kommt beim klick auf den Button kein gelb markiertes Feld. Gehe ich im Makro Menü jedoch auf "Einzelschritte verfolgen, so ist gleich die erste Zeile "Sub datenStrukturieren" gelb unterlegt.

Sub datenStrukturieren()

Application.ScreenUpdating = False

Dim wsSrc As Worksheet, wsTar As Worksheet
Dim lastRow As Long
Dim rng As Range, dest As Range

Set wsSrc = Worksheets("Quelle")
Set wsTar = Worksheets("Ziel")

lastRow = wsSrc.Cells(Rows.Count, 1).End(xlUp).Row

wsTar.Cells.Clear
For Each rng In wsSrc.Range(wsSrc.Cells(1, 1), wsSrc.Cells(Rows.Count, 1).End(xlUp))

Set dest = Nothing
Set dest = wsTar.Cells(1, 1).EntireColumn.Find(What:=rng.Value, After:=wsTar.Cells(1, 1), LookIn:=xlValues, LookAt _
:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False)
If dest Is Nothing Then
wsTar.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 2) = Array(rng, rng.Offset(, 1))
Else
dest.End(xlToRight).Offset(, 1) = rng.Offset(, 1)
End If

Next rng

VG und Danke
AlexFDS ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.07.2014, 12:46   #9
Mc Santa
MOF Meister
MOF Meister
Standard

Hallo,

ok das ist etwas merkwürdig.

Wenn du die Variante "Einzelschritt" gehst, dann musst du das auch ganz oft machen (Für jeden Einzelschritt, im Makro ist das immer eine Zeile). Bei mir klicke ich dazu oft hintereinander auf F8, ob das bei dir auch so geht, weiß ich nicht.

Wichtig ist für mich, wann das Makro bei dir abstürzt, denn bei mir geht es, wie gesagt.

VG
Mc Santa ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.07.2014, 13:48   #10
Mc Santa
MOF Meister
MOF Meister
Standard

Hallo,

Es werden alle Zeilen berücksichtigt, die Ausgabe sieht bei mir so aus:

Ziel
 ABCDE
1     
21BierWeinStuhlBrunnen
32ApfelBaumHamster 
43OrangeTier  
54ErdbeereAst  
65TischGaragePCHaus
76VogelTomate  
88Fisch   
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 18.01 einschl. 64 Bit




Leider weiß ich immer noch nicht, wo genau der Fehler auftritt, hast du versucht mit Einzelschritten durchzugehen? (nicht nur einmal Klicken, sondern so lange, bis das Makro fertig ist oder einen Fehler gibt)

Oder probiere mal diesen Code:
Code:

Option Explicit

Sub datenStrukturieren()

    Application.ScreenUpdating = False
    
    Dim wsSrc As Worksheet, wsTar As Worksheet
    Dim lastRow As Long
    Dim rng As Range, dest As Range
    
    Set wsSrc = Worksheets("Quelle")
    Set wsTar = Worksheets("Ziel")
    
    lastRow = wsSrc.Cells(Rows.Count, 1).End(-4162).Row
    
    wsTar.Cells.Clear
    For Each rng In wsSrc.Range(wsSrc.Cells(1, 1), wsSrc.Cells(Rows.Count, 1).End(-4162))
    
        Set dest = Nothing
        Set dest = wsTar.Cells(1, 1).EntireColumn.Find(What:=rng.Value, After:=wsTar.Cells(1, 1), LookIn:=-4163, LookAt _
            :=1, SearchOrder:=2, SearchDirection:=1, MatchCase:= _
            False, SearchFormat:=False)
        If dest Is Nothing Then
            wsTar.Cells(Rows.Count, 1).End(-4162).Offset(1).Resize(, 2) = Array(rng, rng.Offset(, 1))
        Else
            dest.End(-4161).Offset(, 1) = rng.Offset(, 1)
        End If
        
    Next rng
    
    Application.Goto wsTar.Cells(1, 1), True
    Application.ScreenUpdating = True
      
End Sub
VG
Mc Santa ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.07.2014, 14:03   #11
AlexFDS
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Da kommt jetzt "Laufzeitfehler 448" Das benannte Argument wurde nicht gefunden.
AlexFDS ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.07.2014, 14:05   #12
AlexFDS
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

und der Fehler ist in dieser Zeile:

Set dest = wsTar.Cells(1, 1).EntireColumn.Find(What:=rng.Value, After:=wsTar.Cells(1, 1), LookIn:=-4163, LookAt _
:=1, SearchOrder:=2, SearchDirection:=1, MatchCase:= _
False, SearchFormat:=False)
AlexFDS ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 05.07.2014, 15:04   #13
AlexFDS
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Mist,

die Lust verloren, Santa?

Kann mir sonst vielleicht jemand helfen?
AlexFDS ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 05.07.2014, 20:24   #14
Mc Santa
MOF Meister
MOF Meister
Standard

Ich versuche Montag noch einmal zwei Varianten. Falls es gar nicht geht, baue ich eine Schleife zum suchen, kann dann vielleicht etwas dauern, bis das Makro fertig ist.

Um wie viele Zeilen geht es, die so sortiert werden sollen?
Mc Santa ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.07.2014, 07:01   #15
AlexFDS
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Um 980.000...
AlexFDS ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:36 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.