Thema Datum  Von Nutzer Rating
Antwort
23.11.2016 16:18:46 Raimund Erich
NotSolved
23.11.2016 18:28:04 Mario
NotSolved
Rot Datenimport aus anderem File mit verschachtelten Schleifen
23.11.2016 21:15:24 Mario
*****
Solved

Ansicht des Beitrags:
Von:
Mario
Datum:
23.11.2016 21:15:24
Views:
763
Rating: Antwort:
 Nein
Thema:
Datenimport aus anderem File mit verschachtelten Schleifen

Alle die es Interessiert, der Code scheint zu funktionieren, ich warte jedoch noch auf eine Antwort von Raimond:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Option Explicit
Dim wbQuelle As Workbook, wBZiel As Workbook
Dim wsQuelle As Worksheet, wsZiel As Worksheet
Dim lstQZeile As Integer, lstZZeile As Integer
 
Sub Datei_Auslesen()
Dim iCount As Integer, i As Integer, strDatei As Variant
Dim strName As String, lstQcolumn As Integer
Dim iQrow, iZrow As Integer, iZcolumn As Integer, iQcolumn As Integer
 
Set wBZiel = ThisWorkbook
 
For iCount = 1 To Workbooks.Count
    If InStr(Workbooks(iCount).Name, "Datei-Y") Then
        Set wbQuelle = Workbooks(iCount)
        Set wsQuelle = wbQuelle.Sheets(1)
    End If
Next iCount
 
If wbQuelle Is Nothing Then
    strDatei = Application.GetOpenFilename
    If strDatei <> False Then
        Set wbQuelle = Workbooks.Open(strDatei)
        Set wsQuelle = wbQuelle.Sheets(1)
    Else:
        GoTo Ende
    End If
     
End If
 
Windows(wBZiel.Name).Activate
 
lstQZeile = wsQuelle.Cells(20000, 2).End(xlUp).Row
lstQcolumn = wsQuelle.Cells(5, 256).End(xlToLeft).Column - 1
For i = 4 To lstQcolumn
        If wsQuelle.Cells(5, i) <> "" Then
            strName = wsQuelle.Cells(5, i)
            Set wsZiel = ThisWorkbook.Worksheets(strName)
            lstZZeile = wsZiel.Cells(20000, 1).End(xlUp).Row
        End If
         
        For iQrow = 7 To lstQZeile
            For iZrow = 5 To lstZZeile
                If wsQuelle.Cells(iQrow, 2) = wsZiel.Cells(iZrow, 1) Then
                    iQcolumn = i
                    Do While iQcolumn < lstQcolumn
                        If wsQuelle.Cells(5, iQcolumn + 1) <> "" Then Exit Do
                            For iZcolumn = 3 To 26
                                If InStr(wsZiel.Cells(1, iZcolumn), wsQuelle.Cells(6, iQcolumn)) Then
                                    wsZiel.Cells(iZrow, iZcolumn) = wsQuelle.Cells(iQrow, iQcolumn)
                                End If
                            Next iZcolumn
                        iQcolumn = iQcolumn + 1
                    Loop
                  End If
            Next iZrow
        Next iQrow
Next i
 
 
Set wBZiel = Nothing
Set wsZiel = Nothing
Set wbQuelle = Nothing
Set wsQuelle = Nothing
 
Exit Sub
 
Ende:
 
MsgBox "Es wurde keine Datei ausgewählt, Programm wird abgebrochen!", vbExclamation
Set wBZiel = Nothing
Set wsZiel = Nothing
Set wbQuelle = Nothing
Set wsQuelle = Nothing
 
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
23.11.2016 16:18:46 Raimund Erich
NotSolved
23.11.2016 18:28:04 Mario
NotSolved
Rot Datenimport aus anderem File mit verschachtelten Schleifen
23.11.2016 21:15:24 Mario
*****
Solved