Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1916to1920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige