Thema Datum  Von Nutzer Rating
Antwort
Rot Verschachtelte Schleifen
06.06.2018 17:35:03 Ernst
NotSolved

Ansicht des Beitrags:
Von:
Ernst
Datum:
06.06.2018 17:35:03
Views:
720
Rating: Antwort:
  Ja
Thema:
Verschachtelte Schleifen

Hallo,

ich bin leider neu in VBA und komme nicht ganz mit verschachtelten Schleifen zu Recht.

Ich möchte Daten aus einer Quelldatei nach bestimmten Kriterien, nämlich dem Namen der Person und einer bestimmten Zeitperiode in die Zieldatei kopieren und einfügen.

In den Zeilen sind die Namen hinterlegt und in den Spalten die Perioden. Die Reihenfolge der Namen ist in der Zieldatei eine andere, jedoch die Reihenfolge der Zeitperioden gleich der Quelldatei. Ich finde den Fehler nicht und es scheint auch etwas kompliziert zu sein. Denke, dass es einfacher geht...

Hat jemand vielleicht einen Tipp?

Grüße Ernst

 

Sub Macro2()

Dim mbk As Workbook
Dim wksEclipse As Worksheet, wksZEMA As Worksheet, wksExxeta As Worksheet

Set mbk = ThisWorkbook
Set wksEclipse = mbk.Worksheets("Source")
Set wksZEMA = mbk.Worksheets("ZEMA")
Set wksExxeta = mbk.Worksheets("Exxeta")
Set wksMain = mbk.Worksheets("Main")

wksEclipse.Activate

    Range(Cells(1, 1), Cells(150, 150)).NumberFormat = "@"
    Cells(1, 1).Select
    ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
        False, NoHTMLFormatting:=True
            Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
                SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                ReplaceFormat:=False
        
    Range("A:A").Find(What:="BBL", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
        
    Cells(38, 1).Replace "BBL", "BBL Import"
    
wksMain.Activate

wksEclipse.Activate
count_rowQ = wksEclipse.Cells(Rows.Count, 1).End(xlUp).Row
count_columnQ = wksEclipse.Cells(28, Columns.Count).End(xlToLeft).Column

wksMain.Activate
count_rowZ = wksMain.Cells(Rows.Count, 2).End(xlUp).Row
count_columnZ = wksMain.Cells(2, Columns.Count).End(xlToLeft).Column
    
    For i = 2 To count_rowZ 'Name in Zieldatei
        Name = wksMain.Cells(i, 2).Value
        
            For j = 1 To count_rowQ 'Name in Quelldatei
                If wksEclipse.Cells(j, 1).Value = Name Then
                    
                    wksMain.Activate
                        
                        For k = 2 To count_columnZ 'Zeit in Zieldatei
                            Timeperiod = wksMain.Cells(2, k).Value
                        
    
                    wksEclipse.Activate
                    
                            For l = 1 To count_columnQ 'Zeit in Quelldatei
                                If wksEclipse.Cells(28, l).Value = Timeperiod Then
                                    
                                    wksMain.Cells(i, k).Value = wksEclipse.Cells(j, l)
                                End If
                                
                            Next l
                        Next k
                End If
            Next j
    Next i
                        

 
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Verschachtelte Schleifen
06.06.2018 17:35:03 Ernst
NotSolved