Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: kopieren funktioniert nicht

kopieren funktioniert nicht
25.01.2023 21:51:13
JS
Hallo,
ihr habt mein Makro korrigiert, leider schaffe ich es nicht, es so anzupassen, dass ich auch werte aus sheet2 kopieren kann.
Ich habe einfach with sheets(2) eingefügt, und dann das muster von dem ersten Part. Intersect und resize kenne ich leider nicht.
Sub OpenAllWorkbooks_herber()
    
    Dim MyFile As String, sPath As String, groupe As String
    Dim mybook2 As Workbook, sh2 As Worksheet, lastcol&, rng As Range
    
    'Dim getparentdirectory
    Application.ScreenUpdating = False
    groupe = "Agricultural"
    sPath = "/Users/js/Desktop/" & groupe & "/"
     
   'getparentdirectory = Left(MyFiles, InStrRev(MyFiles, "/"))
    Set mybook2 = Workbooks.Open(FileName:="/Users/js/Documents/Sheet template.xlsx", Editable:=True)
    lastcol = mybook2.Sheets(1).Cells(5, Columns.Count).End(xlToLeft).Column
    
    MyFile = Dir(sPath & "*.xlsx")
    Do While MyFile > ""
        With Workbooks.Open(sPath & MyFile)
          With .Sheets(1)
            Set rng = Intersect(.UsedRange, .Range("L17:L180"))
            mybook2.Sheets(1).Cells(17, lastcol + 1).Resize(rng.Rows.Count, 1).Value = rng.Value
            Set rngba = Intersect(.UsedRange, .Range("k6"))
            Debug.Print (rng2ba)
            mybook2.Sheets(1).Cells(4, lastcol + 1).Value = rngba.Value
            mybook2.Sheets(1).Cells(6, lastcol + 1).Value = "As a Percentage of Revenue"
            mybook2.Sheets(1).Cells(8, lastcol + 1).Value = "1"
            lastcol = lastcol + 1
            
          End With
          
          With .Sheets(2)
#### Hier gibts Probleme. Kann spalte K nicht auf mybook2 spalte b kopieren #######
            Set rng_balance = Intersect(.UsedRange, .Range("K1:K200"))
            'Set rng_balance = Intersect(.UsedRange, .Range("j3:j4"))
            mybook2.Sheets(2).Cells(1, 2).Value = rng_balance.Value
            .Parent.Close
          End With
      End With
        MyFile = Dir()
    Loop
 
    mybook2.SaveAs FileName:=sPath & "summary sheet testing.xlsx"
    mybook2.Close
    Application.ScreenUpdating = True
    Debug.Print ("Fertig")
End Sub
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: kopieren funktioniert nicht
25.01.2023 22:22:52
ralf_b
beim zuweisen der werte muß die rang auf beiden Seiten des "=" gleich groß sein. ich erreiche dies mit dem resize()
 mybook2.Sheets(1).Cells(17, lastcol + 1).Resize(rng.Rows.Count, 1).Value = rng.Value

 Set rng_balance = Intersect(.UsedRange, .Range("K1:K200"))  ' das intersect wird nicht benötigt wenn du die Größe der Zellbereiche kennst. 
  mybook2.Sheets(2).Cells(1, 2).resize(rng_balance.rows.count).Value = rng_balance.Value

' es würde auch so gehen
  mybook2.Sheets(2).Cells(1, 2).resize(200).Value = .Range("K1:K200").Value

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige