VBA kode til at kopire værdier i mange excel filer til en samle excelfil.
Indtil videre har jeg nedenstående kode som kan kopire celle A1 i det åbne regne ark og indsætte dem i en andet excel fil ved navn "anden". Er der nogle som ved hvordan man skriver en kode som åbner alle excelfiler i en mappe, og kopire f.eks. celle A1 ind i excel-filen "anden" Dvs. den skal åbne alle filerne i en angivet mappe, hvor der kopires celle A1 ind i filen "anden". Og hver gang den har kopiret skal den næste kopiring være på næste linje i regnearket "anden".
F.eks._______________ Der er 3 excelfiler i en mappe på c drevet. Der står i excelfil nr. 1: A1 står der 155 nr. 2: A1 står der 177 nr. 3: A1 står der 135
Så skal der i excel arket "anden" stå A1 155 A2 177 A3 135 ________________
Så koden skal åbne alle filerne i en angivet mappe. Kopire ind i filen "anden" og hoppe ned på en ny linje for hver kopiring
Sub COPYCELL() Dim wbk As Workbook Range("A1").Copy
Set wbk = Workbooks.Open(strSecondFile) With wbk.Sheets("MyDate") Range("A1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False End With
JEg har denne kode fra en anden opgave som minder om dette problem Sub IndsamlHjemlaan() Dim fdBrowser As FileDialog, Mappenavn As String, Filnavn As String Dim wb As Workbook, ws As Worksheet, samlws As Worksheet, _ lnr As Integer, rg As Range, rknr As Integer
Set fdBrowser = Application.FileDialog(msoFileDialogFolderPicker)
With fdBrowser .Title = "Valg mappe hvorfra workbooks skal lases" .Show Mappenavn = .SelectedItems(1) End With
Do While Len(Filnavn) > 0 Set wb = Workbooks.Open(Filename:=Filnavn, ReadOnly:=True) Set ws = Worksheets("Hjemlån") Set rg = ws.UsedRange
If lnr = 1 Then rg.Cells(1, 1).Copy samlws.Cells(1, 1).PasteSpecial rg.Cells(2, 1).Copy samlws.Cells(1, 2).PasteSpecial Range("A6", "G6").Copy samlws.Cells(1, 3).PasteSpecial lnr = lnr + 1 End If For rknr = 7 To rg.Rows.Count rg.Cells(1, 2).Copy samlws.Cells(lnr, 1).PasteSpecial rg.Cells(2, 2).Copy samlws.Cells(lnr, 2).PasteSpecial rg.Rows(rknr).Copy samlws.Cells(lnr, 3).PasteSpecial lnr = lnr + 1 Next Set rg = Nothing Set ws = Nothing wb.Close SaveChanges:=False Filnavn = Dir Columns("A:I").EntireColumn.AutoFit Loop
End Sub
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.