PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBARange CopyRange Copy
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2015-11-02 12:25
 

 Hej!

Mitt macro här funkar jättebra, dock har jag ett problem. Hoppas ni kan hjälpa mig. 

 

Jag är det lite hårdkodat, det som ska kopieras i dem olika arbetsböckerna. Rad 2 - 20 plockar den nu.

 

Men jag skulle vilja lösa problemet med att den kopierar Rad 2 till sista raden det finns data i, då dem olika böckerna varierar i rader. Så vill att macrot ska göra en "Ctrl + Shift + Pil ner" Eller arrow down, och känna av själv antalet rader och kopiera det vidare. Inga tomma rader som kommer efter. 

Macro: 

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Dim sökväg As String

    Dim excelfil As String

    Dim rad As Integer

    Dim kol As Integer

    Dim datarad As Integer

    Dim wbData As Workbook

    Dim wsData As Worksheet

    Dim wsSammanställ As Worksheet

    

    If Target.Address(0, 0, xlA1) = "Q1" Then

        sökväg = InputBox("Skriv sökväg till Excelböckerna")

        If Right(sökväg, 1) <> "\" Then sökväg = sökväg & "\"

        rad = 2

        Set wsSammanställ = ThisWorkbook.Worksheets(1)

        excelfil = Dir(sökväg & "*.xls")

        Do While excelfil <> ""

            

            Set wbData = Workbooks.Open(sökväg & excelfil)

            Set wsData = wbData.Worksheets(1)

          

 

        

            For datarad = 2 To 20

                wsData.Range("A" & datarad & ":BF" & datarad).Copy wsSammanställ.Cells(rad, 1)

                rad = rad + 1

            Next datarad

                

            Set wsData = Nothing

            wbData.Close False

            

            excelfil = Dir

        Loop

        

        'justera radhöjd

        Rows("2:" & Range("A65536").End(xlUp).Row).EntireRow.AutoFit

        Range("B2:F" & Range("A65536").End(xlUp).Row).WrapText = True

    End If

 

 End Sub

 
Nytt inlägg
 2015-11-02 12:48
 

 Hej!

 

Jag hittade ett svar från ett annan tråd, och det funkar så. :) 

 

For datarad = 2 To ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBARange CopyRange Copy

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter