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 till första lediga radKopiera till första lediga rad
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2019-03-07 13:39
 

 Hej.

Jag använder mig av en kod som ser ut så här:

Sub Överför()
Dim c As Range
Dim j As Integer
Dim Source As Worksheet
Dim Target As Worksheet
Dim Target1 As Worksheet
Dim Target2 As Worksheet
 
 
Set Source = ActiveWorkbook.Worksheets("Start")
Set Target = ActiveWorkbook.Worksheets("Anläggning1")
Set Target1 = ActiveWorkbook.Worksheets("Anläggning2")
Set Target2 = ActiveWorkbook.Worksheets("Anläggning3")
 
j = 1
For Each c In Source.Range("E11:E100")
If c = "Anläggning1" Then
Source.Rows(c.Row).Copy Target.Rows(j)
j = j + 1
End If
Next c
For Each c In Source.Range("E11:E100")
If c = "Anläggning2" Then
Source.Rows(c.Row).Copy Target1.Rows(j)
j = j + 1
End If
Next c
For Each c In Source.Range("E11:E100")
If c = "Anläggning3" Then
Source.Rows(c.Row).Copy Target2.Rows(j)
j = j + 1
End If
Next c
End Sub
 
Mitt problem är att den kopierar över tidigare rader, jag har försökt med lastrow mm men lyckas inte. Någon som ser en lösning? Jag är ingen vba-guru direkt så dagisnivå gäller :)
 
Mvh Stefan
Nytt inlägg
 2019-03-11 11:36
 
 Ändrad av Christian  på 2019-03-12 08:24:23
Hej hej

Jag kan inte se varför lastrow inte skulle funka. Du måste dock sätta den i varje iteration av dina loopar

Utanför looparna: Din Lastrow as long

Innanför alla dina tre loopar (modifiera Target1 så att den passar varje enskild loop) I nedan kod letar vi sista rad i kolumn "A", ersätt A med en kolumn som passar din data.
LastRow = Target1.Cells(.Rows.Count, "A").End(xlUp).Row + 1

Därefter, byt ut :
Source.Rows(c.Row).Copy Target1.Rows(j)

mot

c.entirerow.copy target1.rows(lastrow)


mvh
Christian
Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAKopiera till första lediga radKopiera till första lediga rad

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