Thema Datum  Von Nutzer Rating
Antwort
Rot Dateien auslesen und Werte kopieren für mehrere Spalten
13.07.2016 11:43:07 vbabrummer
NotSolved
13.07.2016 11:44:59 Gast75428
NotSolved

Ansicht des Beitrags:
Von:
vbabrummer
Datum:
13.07.2016 11:43:07
Views:
1369
Rating: Antwort:
  Ja
Thema:
Dateien auslesen und Werte kopieren für mehrere Spalten

Hallo zusammen,

ich habe noch einen (vermutlich) kleinen Fehler in meinem Code und würde mich freuen, wenn ihr mir helfen könntet.

Ich habe in einer Datei eine Tabelle die sieht wie folgt aus:

[URL=http://www.directupload.net/file/d/4415/beidro2y_jpg.htm][IMG]http://fs5.directupload.net/images/160713/temp/beidro2y.jpg[/IMG][/URL]

Ich habe nun in einem Extra Ordner die Stundenzettel für die einzelnen KW mit dem Namen z.B. "2016_KW28_Mustermann". Aus denen Dateien, die vorhanden sind wird der Wert der Zelle G37 in das passende Feld in meiner Tabelle kopiert. Für ein Jahr (hier z.B. 2016) funktioniert das auch mit dem folgenden Code (sieht Bild KW28 und KW29):

For KWCount = 1 To 53
        strPfad = Sheets(MAName).Range("G10").Value & "\"                                       'Pfad zur anderen Datei (mit Backslash am Ende)
        strDatei = Sheets(MAName).Range("U9").Value & "_KW" & KWCount & "_" & MAName & ".xlsx"  'Andere Datei
        strBlatt = "KW" & KWCount                                                               'Tabellenblatt
        Zettelpfad = Sheets(MAName).Range("G10").Value & "\" & Sheets(MAName).Range("U9").Value & "_KW" & KWCount & "_" & MAName & ".xlsx"
        If Dir(Zettelpfad) <> "" Then
            strVerweis = "'" & strPfad & "[" & strDatei & "]" & strBlatt & "'!" & strZelle
            With Sheets(MAName).Cells(KWCount + 9, 21)
                .Formula = "=IF(" & strVerweis & "="""",""""," & strVerweis & ")"    'Formel eintragen
                .Value = .Value                                                      'Formel in Wert umwandeln
            End With
        End If
Next KWCount

Nun würde ich aber auch gerne gleich die anderen Jahre überprüfen und habe folgendes versucht:

For RowCount = 21 To 28 'Spalten U bis AB
    For KWCount = 1 To 53
        strPfad = Sheets(MAName).Range("G10").Value & "\"     'Pfad zur anderen Datei der jeweiligen KW
        strDatei = Sheets(MAName).Cells(9, RowCount).Value & "_KW" & KWCount & "_" & MAName & ".xlsx"  'Name der Datei der jeweiligen KW
        strBlatt = "KW" & KWCount                                                               'Tabellenblatt in der Datei
        Zettelpfad = Sheets(MAName).Range("G10").Value & "\" & Sheets(MAName).Range("U9").Value & "_KW" & KWCount & "_" & MAName & ".xlsx"
        If Dir(Zettelpfad) <> "" Then
            strVerweis = "'" & strPfad & "[" & strDatei & "]" & strBlatt & "'!" & strZelle
            With Sheets(MAName).Cells(KWCount + 9, 21)
                .Formula = "=IF(" & strVerweis & "="""",""""," & strVerweis & ")"    'Formel eintragen
                .Value = .Value                                                      'Formel in Wert umwandeln
            End With
        End If
    Next KWCount
Next RowCount

Das funktioniert aber nicht, da er dann ein Fenster aufruft: "Werte aktualisieren 2017_KW28_Mustermann.xlsx" und das gleiche für

"Werte aktualisieren 2017_KW29_Mustermann.xlsx" und für die Jahre 2018-2023 immer nur für KW28 und KW29. Leider konnte ich den Fehler noch nicht finden.

Vielen Dank im voraus!

 

vbabrummer


 


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 Dateien auslesen und Werte kopieren für mehrere Spalten
13.07.2016 11:43:07 vbabrummer
NotSolved
13.07.2016 11:44:59 Gast75428
NotSolved