Thema Datum  Von Nutzer Rating
Antwort
29.10.2020 08:57:21 ch79
NotSolved
29.10.2020 09:03:31 ch79
NotSolved
29.10.2020 10:00:21 ralf_b
NotSolved
Blau Werte kopieren und im anderem Excel einfügen
29.10.2020 10:27:59 TestGast
NotSolved
29.10.2020 11:37:21 Gast66956
NotSolved
29.10.2020 11:55:03 Gast51024
NotSolved
29.10.2020 13:23:12 ch79
NotSolved
29.10.2020 17:23:42 TestGast
NotSolved
29.10.2020 21:49:50 ch79
NotSolved
30.10.2020 07:24:54 TestGast
NotSolved
30.10.2020 08:11:23 Gast21781
NotSolved
30.10.2020 09:03:03 TestGast
NotSolved
30.10.2020 09:32:06 ch79
NotSolved
03.11.2020 11:13:48 TestGast
NotSolved

Ansicht des Beitrags:
Von:
TestGast
Datum:
29.10.2020 10:27:59
Views:
721
Rating: Antwort:
  Ja
Thema:
Werte kopieren und im anderem Excel einfügen

Hallo Ch79

Ich hab das jetzt nicht getestet. Die Funktion DateiÖffnen ist bei mir so schon Jahre lang im Einsatz
und macht mir keine Probleme. Sie öffnet eine übergebene Datei oder übernimmt sie, wenn sie schon
geöffnet ist.

Die Sub ist wie gesagt nicht getestet, da mir die Originaldateien fehlen.

Exceldatei 2
-hat in Spalte B verbundene Zelle mit C Kalenderwochen mit der Abkürzung KW1, KW2, KW3.... -KW52
-es soll die entsprechende KW (gem. Excel 1) in der Spalte suchen und auf der nächsten freien Zeile die Daten aus L66:U66 einfügen
-kann es jeweils wen nur noch 1 freie Zeile zwischen den Kalenderwochen sind eine weitere freie Zeile einfügen

Ich nehme an:
- in Spalte B stehen die Kalenderwochen (was das Zelle mit C Kalenderwochen heißt, konnte ich mir nicht erklären)
- unterhalb der Zelle, in der z.B. KW44 steht, sind noch leere Zellen, in die dann die Daten kommen

Somit bitte mal selber testen und ggf. anpassen.
ralf_b hat schon recht. Bitte einfach die einzelnen Aufgaben lösen, wie Dateien öffnen, Werten in Spalten
suchen (Vergleich als Tabellenfunktion gibt es), Daten kopieren. Dann diese Lösungen kombinieren. 
Wenn dann noch Fragen auftreten, diesen Code hier mitposten und dann können wir dir die Fehler erklären.

"Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben"
Konfuzius, Chinesischer Pilosoph

Ich versuche lieber das angeln zu lehren (das programmieren an sich), statt täglich Fische zu verteilen.

Danke fürs Verständnis

Gruß Der TestGast

--- Makro ---

Option Explicit


Sub DatenKopieren()
    Dim intKW As Integer
    Dim strKW As String
    
    Dim varZeile As Variant
    
    Dim wsQuelle As Worksheet
    Set wsQuelle = ActiveSheet              'Muss ja das aktuelle Blatt sein, da mit Button gestartet
    
    Dim strZielDatei As String
    Dim strZielTabelle As String
    strZielDatei = "c:\temp\excel2.xlsx"    'Hier bitte Anpassen oder eigene Abfrage erstellen
    strZielTabelle = "Tabelle1"             'Hier bitte Anpassen oder eigene Abfrage erstellen
    
    Dim lngZielZeile As Long
    
    Dim wbZiel As Workbook
    Dim wsZiel As Worksheet
    
    'Zieldatei öffnen, oder wenn geöffnet übernehmen
    Set wbZiel = DateiÖffnen(strDateiname:=strZielDatei, UpdateLinks:=True, ReadOnly:=False)
    If wbZiel Is Nothing Then
        MsgBox "Datei nicht gefunden!", vbCritical + vbOKOnly, "Datei nicht gefunden"
        Exit Sub
    End If
    Set wsZiel = wbZiel.Worksheets(strZielTabelle)
    
    'Kalenderwoche aus Excel1 auslesen
    intKW = wsQuelle.Range("B41").Value
    strKW = "KW" & intKW
    
    'KWxx in Zieldatei suchen
    varZeile = Application.Match(strKW, wsZiel.Columns(3), 0)
    If VarType(varZeile) <> vbError Then
        lngZielZeile = Val(VarType)
    End If
    
    'nächste freie Zelle suchen (in Spalte 2)
    Do While wsZiel.Cells(lngZielZeile, 2) <> ""
        lngZielZeile = lngZielZeile + 1
    Loop
    
    'Daten kopieren
    wsQuelle.Range("L66:U66").Copy Destination:=wsZiel.Cells(lngZielZeile, 2)
    
    'Aufräumen
    Set wbZiel = Nothing
    Set wsZiel = Nothing
    Set wsQuelle = Nothing
End Sub


Private Function DateiÖffnen( _
            ByVal strDateiname As String, _
            ByVal UpdateLinks As Boolean, _
            ByVal ReadOnly As Boolean) As Workbook
            
    Dim WB As Workbook
    Dim Pos As Long
    Dim DateiName As String
    
    Pos = InStrRev(strDateiname, "\", , vbTextCompare)
    If Pos = 0 Then Exit Function
    
    DateiName = Mid(strDateiname, Pos + 1)
    
    For Each WB In Application.Workbooks
        If WB.Name = DateiName Then
            Set DateiÖffnen = WB
            Exit Function
        End If
    Next WB
    
    On Error Resume Next
    Set DateiÖffnen = Workbooks.Open(strDateiname, UpdateLinks:=UpdateLinks, ReadOnly:=ReadOnly)
    On Error GoTo 0
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
29.10.2020 08:57:21 ch79
NotSolved
29.10.2020 09:03:31 ch79
NotSolved
29.10.2020 10:00:21 ralf_b
NotSolved
Blau Werte kopieren und im anderem Excel einfügen
29.10.2020 10:27:59 TestGast
NotSolved
29.10.2020 11:37:21 Gast66956
NotSolved
29.10.2020 11:55:03 Gast51024
NotSolved
29.10.2020 13:23:12 ch79
NotSolved
29.10.2020 17:23:42 TestGast
NotSolved
29.10.2020 21:49:50 ch79
NotSolved
30.10.2020 07:24:54 TestGast
NotSolved
30.10.2020 08:11:23 Gast21781
NotSolved
30.10.2020 09:03:03 TestGast
NotSolved
30.10.2020 09:32:06 ch79
NotSolved
03.11.2020 11:13:48 TestGast
NotSolved