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

 
ForumForumDiskussionerDiskussionerVBAVBAKopiera samma celler från olika blad till nya rader i Blad1Kopiera samma celler från olika blad till nya rader i Blad1
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2020-12-08 13:25
 

Hej!

Är ny med makron och har försökt få till nedanstående kod. Vet inte om det här är superenkelt eller komplicerat.

Jag har ett huvudblad i Blad1 dit jag vill flytta data från övriga blad.

Jag vill kopiera och transponera data från cellerna B42-B96 på varje blad, till var sin ny rad på Blad1 med början i cell I10. Det vill säga: cellerna B42-B96 från Blad2 ska kopieras och transponeras med start i I10. Cellerna B42-B96 från Blad3 ska kopieras och transponeras till I11. Från Blad4 ska samma celler till I12 och så vidare. Se koden nedan.

Jag vill alltså att den väljer ett nytt blad för varje gång och dessutom en ny rad för varje gång.

Tacksam för hjälp!

 

Sub Dataset2()

'

    Sheets("Blad2").Select 'Här vill jag att den väljer nästa blad allt eftersom

    Range("B42:B96").Select

    Selection.Copy

    Sheets("Blad1").Select

    Range("I10").Select 'Här vill jag också att den väljer nästa rad varje gång

    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _

        False, Transpose:=True

End Sub••••ˇˇˇˇ

Nytt inlägg
 2020-12-09 15:39
 
 Ändrad av Christian  på 2020-12-09 16:41:44

 Hej hej

 

Nedan kod behöver modifieras lite, sitter på telefonen.

Sub CopyAndTranspose()

Dim wsCopy as worksheet: set wsCopy  =thisworkbook.sheets("Blad1")

Dim copyrange as range: set copyrange = Ws.Range("B42:B96")

 

Dim i as long

'Ändra 4:A till sista bladnummer.

For i = 1 to 4

Copyrange.Copy

Sheets("Blad"&i).Range("i"&8+i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _

 
        False, Transpose:=True
Next i
End Sub
Nytt inlägg
 2020-12-10 03:48
 

Stort tack för snabbt svar!

Funkar nästan nu, men vad var det för modifieringar som behövdes?

Först blev det ett 424-fel (Objekt saknas), men tror att jag lyckades komma runt det.

Men nu verkar den klaga på tredje raden, Dim copyrange As Range: Set copyrange = Ws.Range("B42:B96")

Den säger Kompileringsfel, Sub eller Function har inte definierats och så blir den raden gul från ": Set copyrange..." och framåt

Hälsar Johan

 

Nytt inlägg
 2020-12-10 11:41
 

enklare, men kankse lite otydligare

 Sub CopyAndTranspose2()

Dim i As Long
 
For i = 2 To ThisWorkbook.Sheets.Count
 
    ThisWorkbook.Sheets(i).Range("B42:B96").Copy
    ThisWorkbook.Sheets("blad1").Range("i10").Offset(i - 2, 0).PasteSpecial Transpose:=True
 
Next i
End Sub
 
 
***********Alternativ utan Copy/paste. Det har sina fördelarar och nackdelar************
 
Sub Tilldela()
Dim i As Long
 
For i = 2 To ThisWorkbook.Sheets.Count
 
ThisWorkbook.Sheets("blad1").Range("i10:BK10").Offset(i - 2, 0) = _
WorksheetFunction.Transpose(ThisWorkbook.Sheets(i).Range("B42:B96"))
 
Next i
End Sub
 
 
Nytt inlägg
 2020-12-10 15:06
 

 Hej igen.

Det är nog ws den klagar på. Döpte juh bladet till wsCopy. 

Blir alltså wsCopy.range("b42:b96"). Har nog tid att testa den på datorn imorrn :)

/c

Nytt inlägg
 2020-12-11 03:41
 

 Underbart, funkar komplikationsfritt nu - STORT TACK både Christian och anonymous!

Hälsar Johan

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAKopiera samma celler från olika blad till nya rader i Blad1Kopiera samma celler från olika blad till nya rader i Blad1

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