Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Transponieren ect. großer Datenmengen
#11
Hallo,

das passiert deswegen, weil Zahlen der Spalte A in TabelLe Daten1 in Tabelle Daten2 nicht vorhanden sind.
Dies Möglichkeit ist weder von mir noch von Karin bedacht worden, da Du uns das nicht gesagt hast.
Was soll dann passieren, wenn sie nicht vorhanden sind?
Gruß Atilla
Antworten Top
#12
Hey,

danke für den Hinweis, ja da bin ich leider Leihe, wenn ich immer genau wüsste welche Folgeprobleme es geben könnte bzw. welche Kriterien alle wichtig sind für VBA dann wäre es ein vielfaches leichter das weiss ich wohl.

Mein Idee ist die das dieser Datensatz ( diese Zeile ) dann einfach ausgelassen wird.

Leider ist Tabelle 1 nicht immer Tagesaktuell Synchron zu den Daten in Tabelle 2 deswegen kann es vorkommen das Daten in Tabelle 2 sind aber nicht in Tabelle 1.


Es geht ja hier zunächst um einen großen Datensatz, sollen im nachhinein Daten dazu kommen vereinzelt kann ich diese auch manuell nachpflegen aber in Anbetracht des Volumens der Datei ist alles händisch undenktbar.

Danke schonmal
Antworten Top
#13
Hallo,

Zitat:Mein Idee ist die das dieser Datensatz ( diese Zeile ) dann einfach ausgelassen wird.

dann so:

Code:
Option Explicit

Sub zusammenführen_und_Transponieren()

   Dim daten1
   Dim daten2, daten3
   Dim idNummer As Long
   Dim i As Long, j As Long, k As Long
   Dim lngAnzahl As Long
   Dim varZ
   Dim arrSplit
   Dim arr()

   With Worksheets("Daten1")
      lngAnzahl = .Range("A1").CurrentRegion.Rows.Count - 1
      daten1 = .Range("A1").CurrentRegion.Offset(1, 0).Resize(.Range("A1").CurrentRegion.Rows.Count - 1, 2)
   End With

   With Worksheets("Daten2")
      daten2 = .Range("A1").CurrentRegion.Offset(1, 0).Resize(.Range("A1").CurrentRegion.Rows.Count - 1, 1)
      daten3 = .Range("A1").CurrentRegion.Offset(1, 1).Resize(.Range("A1").CurrentRegion.Rows.Count - 1, 1)
   End With

   For i = 1 To lngAnzahl
      arrSplit = Split(RTrim(Replace(daten1(i, 2), ",", "")))
      varZ = Application.Match(CDbl(daten1(i, 1)), daten2, 0)
      If Not IsError(varZ) Then
         idNummer = daten3(varZ + 1, 1)
         ReDim Preserve arr(1, UBound(arrSplit) + k)
         For j = 0 To UBound(arrSplit)
            arr(0, k) = idNummer
            arr(1, k) = arrSplit(j)
            k = k + 1
         Next j
      End If
   Next i

   With Worksheets("So sollte es sein")
      .Cells.Clear
      .Range("A1:B1").Resize(k) = Application.Transpose(arr)
   End With
  
End Sub
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • superkot1
Antworten Top
#14
Hi,

(15.05.2014, 20:52)superkot1 schrieb: Hey Beverly,

idNummer = daten3(Application.WorksheetFunction.Match(CDbl(daten1(i, 1)), daten2, 0), 1)


solch eine Zeile gibt es in meinem Code nicht.


In meinem Code kommt allerdings ebenfalls ein Fehler, und zwar in dieser Zeile

Code:
arrDaten = Split(Application.Substitute(.Cells(lngZeile, 2), " ", ""), ",")

Ursache ist mir unklar. Wenn du jedoch in dieser Zeile .Value ergänzt, kommt kein Fehler mehr:

Code:
arrDaten = Split(Application.Substitute(.Cells(lngZeile, 2).Value, " ", ""), ",")


Dateiupload bitte im Forum! So geht es: Klick mich!
" height=35" align="left" alt="Grußformel">Dateiupload bitte im Forum! So geht es: Klick mich!
" height=35" align="middle" alt="Beverly's Excel - Inn">[/code][/quote]
Ein Fragesteller sollte Antworten gründlich und komplett lesen und nicht nur die für ihn angenehmen Teile.
[-] Folgende(r) 1 Nutzer sagt Danke an Beverly für diesen Beitrag:
  • superkot1
Antworten Top
#15
Hat alles funktioniert so wie ich mir das gewünscht habe, insgesamt sind es ca. 49.000 Zeilen ein paar Stichproben habe ich gemacht ich denke alles ist Top.

Vielen lieben Dank nochmal an euch beiden Profis Beverly und Attila Ihr seid Spitze Wink


Habt beide ein Thank you bekommen Wink
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste