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

 
ForumForumDiskussionerDiskussionerVBAVBAMakro för att kopiera ett cellområde till ett annat, i annan flikMakro för att kopiera ett cellområde till ett annat, i annan flik
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2018-12-05 07:27
 
Hej,
Har letat igenom forumet lite, men inte riktigt hittat det jag söker. Är nybörjare när det kommer till VBA, så hoppas jag kan få hjälp här. Har en bok, där jag vill kopiera text i ett cellområde bestående av 2 rader och 3 kolumner i Blad4 till ett cellområde i Blad5 bestående av 1 rad och 4 kolumner.
Är detta möjligt, eller måste områdena ha samma utformning?

Dessutom, vill jag i Blad4 fritt kunna välja bland flera olika cellområden (spridda i bladet) samt kopiera in dessa på första tomma rad i Blad5. Alltså kunna utföra kommandot flera gånger, men på ny rad.

Hoppas min fråga går att tyda.
Tack på förhand!
Nytt inlägg
 2018-12-05 13:37
 
Hej hej

Ja det går. kan skriva ett macro som hittar sista rad och lägger in data enligt din önskan..
Du menar 1 rad 6 kolumner eller har du tomma celler i din 2x3?


mvh
Christian
Nytt inlägg
 2018-12-05 14:09
 
 Ändrad av Christian  på 2018-12-05 14:09:32
Detta makro skriver iaf 2x3 till 1x6. Markera område som du vill kopiera, därefter kör du macrot. Om du kör macrot utan att ha valt ett område kommer du att få körfel :)

nvh Christian
Option Explicit

Sub movestuff()

Dim rng As Range: Set rng = Selection

Dim inVnt As Variant: inVnt = rng
Dim outVnt(1 To 1, 1 To 6) As Variant
Dim i As Long: i = 1
Dim k As Long: k = 1
Dim m As Long: m = 1

For i = 1 To UBound(inVnt, 1)
For k = 1 To UBound(inVnt, 2)
outVnt(1, m) = inVnt(i, k)
m = m + 1
Next k
Next i

Dim wsin As Worksheet: Set wsin = ThisWorkbook.Sheets("Blad4")
Dim wsout As Worksheet: Set wsout = ThisWorkbook.Sheets("Blad5")
Dim lastrow As Long: lastrow = wsout.Cells(wsout.Rows.Count, "A").End(xlUp).Row

wsout.Activate
wsout.Range(Cells(lastrow + 1, 1), Cells(lastrow + 1, 6)) = outVnt
wsin.Activate


End Sub


Nytt inlägg
 2018-12-05 14:09
 
 Ändrad av Horndal  på 2018-12-05 14:31:01
Tack för svar!

Kanske var otydligt, kommer vara text som ska kopieras. Så det är ett sammanfogat område 2x3, med fritext.
Ska kopieras på kommando till ett 1x3 område i en tabell i nästa blad. Översta raden först, osv.

Finns alltså ett helt gäng 2x3 områden med text i, men jag ska kunna markera vilka jag vill förflytta till tabellen.
Har försökt en del själv, men får fel i intervall index.

Såg nu också att du lagt in koden för makrot, svarade samtidigt. Får samma fel här, "indexet är utanför intervall".
Vart felsöker jag i koden? :)

Tack!
Nytt inlägg
 2018-12-05 15:27
 
Får du inte upp möjlighet att felsöka när felet triggas? Ska bara vara att trycka på knappen felsök så får du se vad som gått snett.
Annars markerar du ditt område, trycker alt-f11. sedanstegar du i koden med F8 tills du kommer till raden där felet uppstår.


Jag misstänker att dina blad kanske inte heter blad4 och blad5?
Har du gjort någon förändring i koden så kan du visa vad du gjort. Annars ska den fungera, den kan dock inte klistra in i en tabell, utan klistrar i så fall in dina värden i raden strax under tabellen.

/c

Nytt inlägg
 2018-12-05 21:53
 
Tack. Stämmer. Missade mellanslag i mina bladnamn.

Får ingen möjlighet till felsök, men funkade att göra enligt dina instruktioner.
Nu får jag fel som lyder "Körfel nr 1004... Program- eller objektdefinierat fel"

Har det att göra med skillnader i vilken version av excel man har? Kör 2016





Nytt inlägg
 2018-12-06 15:41
 
har du laggt ditt makro i en modul? om inte så måste du göra det. gå in i editorn, högerclicka på din arbetsbok i proejekr fönstret och lägg till en modul. lägg ditt makro i modulen. om du redan har makrot i en modul så behöver jag veta vilken rad som triggade felet, då får du stega i koden med f8 tills du får ett fel och en gulmarkerad rad.
/c
Nytt inlägg
 2018-12-07 08:05
 
Tack så mycket för all hjälp, nu verkar det fungera som det ska!
Får ta mig tiden att verkligen läsa på i det här ämnet, kommer ha stor nytta av dessa kunskaper!
Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAMakro för att kopiera ett cellområde till ett annat, i annan flikMakro för att kopiera ett cellområde till ett annat, i annan flik

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