Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1500to1504
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

SchleifenProblem mit versch. if-Cases

SchleifenProblem mit versch. if-Cases
21.06.2016 11:49:11
dave
Hallo Leute :)
mein Problem gestaltet sich wiefolgt:
ich habe 2 workbooks und folgende Spalten:
wb1: Name (A), Customer (B), Owner (F), Bool (H)
wb2: Owner (A)
ich moechte nun in wb1 alle Zeilen der Spalte F durchgehen und falls in der gleichen Zeile in Spalte H eine 1 steht, den Wert aus Spalte A und B zusammen in die wb2-Zeile eintragen, die den entsprechenden Owner(F) besitzt.
So weit so gut. Mein Problem ist, dass ich mehrere Zeilen in wb1 zu jedem Owner habe. Ich moechte nun in wb2 fuer jeden weiteren Eintrag von Owner x eine neue Spalte einfuegen, sodass ich am Ende fuer jeden Owner y spalten mit den Namen(A) und Customer(B) Infos stehen habe...
Spalte F ist von A nach Z sortiert!
mein Code sieht folgendermassen aus:
Dim i As Integer
Dim a As Integer
Sheets(1).Select
Dim Zelle As Range
For Each Zelle In Worksheets(1).Range("F2:F" & Cells(Rows.Count, "F").End(xlUp).Row)
'Schleife geht im ersten Worksheet jede Zelle in Spalte F durch
If Zelle.Offset(0, 2).Value = 1 Then
'wenn eingetragenes Datum kleiner ist als heutiges Datum, dann...
Dim gefunden As Range
Dim toFind As String
toFind = Zelle.Value
Set gefunden = Worksheets("Email_List").Cells.Find(what:=toFind)
'sucht nach der Zelle, die den selben Namen enthaelt wie die andere Zelle
If Zelle Zelle.Offset(1, 0) And Zelle.Offset(1, 0) Zelle.Offset(2, 0) Then
a = 0
End If
If Zelle = Zelle.Offset(a, 0) Then
gefunden.Offset(0, 3 + i).Value = Zelle.Offset(0, -5).Value & " - " & Zelle.Offset(0, -4).Value
'traegt den Namen der Opportunity und den Customer ein
i = i + 1
a = 1
Else
i = 0
a = 0
End If
'wenn ausgewaehlte Zelle den gleich inhalt wie die Zelle darueber hat, dann wird neue spalte kreiert
Else
i = 0
End If
Next
Mein Problem ist eigentlich nur, dass bei bestimmten abfolgen der Owner in Spalte F die funktion nicht klappt....
danke im vorraus :)

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SchleifenProblem mit versch. if-Cases
21.06.2016 14:34:38
Christian
hallo Dave,
so zB:
Option Explicit
Sub TestIt()
Dim i As Long
Dim strOwn As String
Dim objdic As Object
Dim vntDat
Set objdic = CreateObject("Scripting.Dictionary")
With Worksheets(1)
For i = 2 To .Cells(.Rows.Count, 6).End(xlUp).Row
If .Cells(i, 7) = 1 Then
strOwn = .Cells(i, 6)
objdic(strOwn) = objdic(strOwn) & .Cells(i, 1) & "|" & .Cells(i, 2) & "|"
End If
Next
End With
With Worksheets(2)
For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
strOwn = .Cells(i, 1)
vntDat = Split(objdic(strOwn), "|")
.Cells(i, 2).Resize(, UBound(vntDat) + 1) = vntDat
Next
End With
Set objdic = Nothing
End Sub

Gruß
Christian
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige