Thema Datum  Von Nutzer Rating
Antwort
Rot Werte werden nicht übernommen
08.04.2021 14:08:13 Axl
NotSolved
08.04.2021 14:13:15 ralf_b
NotSolved
08.04.2021 14:29:35 Axl
NotSolved
08.04.2021 15:08:23 ralf_b
NotSolved
08.04.2021 19:34:10 xlKing
NotSolved
09.04.2021 08:33:23 Axl
NotSolved
09.04.2021 14:26:06 ralf_b
*****
Solved
13.04.2021 07:52:19 Axl
Solved

Ansicht des Beitrags:
Von:
Axl
Datum:
08.04.2021 14:08:13
Views:
445
Rating: Antwort:
  Ja
Thema:
Werte werden nicht übernommen

Hallo Zusammen,

 

im unten stehenden Code werden die Werte aus der Quelldatei in die Zieldatei nicht kopiert. Es kommt keine Fehlermeldung...

Der Code öffnet die Mappe, hebt Schreibschutz auf, und soll die Werte übernehmen, und wieder die  geöffnete Datei schließen.

Das Programm macht alles, außer der Wertübernahme....Die Zeilenweise Überprüfung durcch mit F8 ging auch gut, alles O.K. wie vorgestellt in der Theorie, in der Praxis aber nicht...

 

Bitte um Hilfe sad

Freundliche Grüße

Axl

 

Sub Makro1()
  
    'Hilfsvariablen
    Dim iRow As Long, j As Long, i As Long
    Dim strDateipfad As String
    Dim strPfad As String
    Dim strDateiname As String
    Dim Wb As Workbook
    Dim Ws As Worksheet                
    
Application.ScreenUpdating = False

    'Pfad in welchem die Dateien der zu
    'kopierenden Zellen sich befinden auswählen


    strPfad = ThisWorkbook.Path & Application.PathSeparator
    'Schleife welche den Zelleninhalt aller aufgelisteten
    'Dateien in mehrere Zellen des Hauptprogramms schreibt

    For iRow = 4 To Cells(Rows.Count, 4).End(xlUp).Row
        'Überprüfen, ob in Spalte "Dateiname" ein solcher eingetragen ist.
        '(der Arbeitsvorgang wird fortgesetzt)
        If Cells(iRow, 2) = "" Then 'Wenn Zelle in Spalte B Leer dann Exit
            Exit Sub
        Else
            strDateiname = Cells(iRow, 2)
            strDateipfad = strPfad & strDateiname & ".xlsm"
            'Überprüfen, ob die in der Tabelle angegebene Datei vorhanden ist.
            '(der Arbeitsvorgang wird fortgesetzt)
            If Len(Dir(strDateipfad)) Then                                   '<====  !!!
              
                If isFileOpen(strDateipfad) Then                             '<====  !!!
                    Cells(iRow, 3) = "nicht aktuell" ' oder anders reagieren
                    GoTo Nxt_File                   ' Überspringe das Öffnen der Arbeitsmappe
                Else
                    Cells(iRow, 3) = "aktuell"
                End If

                Set Wb = Application.Workbooks.Open(Filename:=strDateipfad) '<====  !!!   Quelldatei-Arbeitsmappe
    
    For i = 1 To Sheets.Count                                               '<====  !!!   Schreibschutz aufheben in geöffn Dateien
    ActiveWorkbook.Sheets(i).Unprotect Password:="KKI"
    Next
    
                Set Ws = Wb.Worksheets("Schnittstelle")                      '<====  !!!   Arbeitsblatt in Quelldatei-Arb.Mappe
                    
                For j = 7 To 27
                    Cells(iRow, j) = Ws.Cells(j + 19, 2)                   '<====  !!! 'Cells(Durchsuchte ZEILE der Namen, Spaltenindex) =
                                                                                        
                Next j                                                                  ' (iRow, 7 to 27) <== (26 to 46, 2)

                Wb.Worksheets("Zusammenfassung").Select                         '<====  !!! "Zusammenfassung" selektieren
                Wb.Close saveChanges:=False                                     '<====  !!! Schließen der Mappe
                                                 
            End If
        End If
Nxt_File:
    Next iRow
End Sub

Sub keine_Verknuepfung()
    Dim nRow As Long
    For nRow = 4 To Cells(Rows.Count, 4).End(xlUp).Row
        If Cells(nRow, 10).Value = "" Then
            Cells(nRow, 3) = "keine Verknüpfung"
        End If
    Next nRow
End Sub

Function isFileOpen(sFullname As String) As Boolean
    Dim kn As Integer, errNum As Long

    On Error Resume Next                 '<=== 
    kn = FreeFile
    Open sFullname For Input Lock Read As #kn
        errNum = Err.Number              '<===
    Close #kn
    On Error GoTo 0                      '<=== 

    Select Case errNum
        Case 0          ' nicht geöffnet
            isFileOpen = False
'       Case 70         ' bereits geöffnet                                       
        Case 55, 70     ' bereits geöffnet(55), Zugriff/Berechtigung verweigert(70)   
            isFileOpen = True
        Case Else       ' anderer Fehler
            Error errNum
    End Select
End Function


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 Werte werden nicht übernommen
08.04.2021 14:08:13 Axl
NotSolved
08.04.2021 14:13:15 ralf_b
NotSolved
08.04.2021 14:29:35 Axl
NotSolved
08.04.2021 15:08:23 ralf_b
NotSolved
08.04.2021 19:34:10 xlKing
NotSolved
09.04.2021 08:33:23 Axl
NotSolved
09.04.2021 14:26:06 ralf_b
*****
Solved
13.04.2021 07:52:19 Axl
Solved