09. januar 2008 - 18:04Der er
12 kommentarer og 1 løsning
VBA - Kopier rækker fra Ark1 vha. Search String "X" til nyt ark
Hej
Jeg skal have færdiggjort en VBA kode,
I "Ark1" har jeg fra Row3 og ned til RowX + 1 et dynamisk område (mellem 3 og 100 rækker) Efter RowX, kommer der altid 10 rækker med fast tekst i ColumnA.
Jeg har brug for at kunne kopier X-antal rækker inkl. format fra Row3 til RowX, som skal indsættes i "Ark2" fra Row12. Den skal lave Insert Shift:=xlDown, idet jeg har tekst i Rows("12:20")(Ark2).
I (Ark1)RowX + 1 står der altid ordet "Gyldighed",så den vil jeg bruge som Search String.
Her er starten på min kode: -------------------------------------------------------------------------- Sub SearchStringArk1() Dim i As Integer Dim startCell As Integer
startCell = 12
Dim currentSheet As String currentSheet = ActiveSheet.Name Dim searchString As String searchString = "Kopi bedes underskrives."
If (currentSheet = ("Ark2") Then searchString = "Kopi Returneres." End If
Dim celleId As Integer celleId = 0
For i = 1 To 100 If Worksheets(currentSheet).Cells(i, 1).Value = searchString Then celleId = i End If Next
If celleId <> 0 Then For i = startCell To (celleId - 2) Rows(startCell).Select Selection.Delete Shift:=xlUp Next Range(A1).Select.Delete
End If
i=0
Herfra søger jeg hjælp. Et eller andet med Worksheets(Ark).Rows(startCell + i + 1).Select Selection.Insert Shift:=xlDown
Jeg skal bare kopier alt mellem (Ark1)række 3 og teksten "Gyldighed". Værdien "Gyldighed" er dynamisk da der kommer rækker ind imellem række 3 og rækken hvor ""Gyldighed" står. Det hele skal kopieres over i Ark2 med format.
Jeg kan ikke lige gennemskue din løsning, men det må være noget med at den finder sidste række med data i og springer 10 rækker tilbage.?
Fra A3 til Gyldig. men der er blanke rækker i mellem, og de skal med.
Nedenstående virker kun hvis der er data i alle rækkerne + den laver " Sæt ind" istedet for "Indsæt det kopiere og ryk celler ned af"
CopyMatchingRows() With Worksheets("Ark1") .AutoFilterMode = False With .Range("A3:H3") .AutoFilter .AutoFilter Field:=1, Criteria1:="Gyldighed: Tilbudet er gældende i 30 dage." Criteria1:="<>" End With
.AutoFilter.Range.Copy Destination:= _ Worksheets("Ark2").Cells(Rows.Count, 1).End(xlUp)(0, 1) .AutoFilterMode = False End With
Dim searchString As String searchString = "Kopi Returneres."
Hvad siger du til denne her??????
Dim celleId As Integer celleId = 0
i = 0 For i = 1 To 200 If Worksheets("ARK2").Cells(i, 1).Value = searchString Then celleId = i End If Next
If celleId <> 0 Then For i = startCell To (celleId - 2) Rows(startCell).Select Selection.Delete Shift:=xlUp Next Worksheets(ARK2).Range("A1:C5").ClearContents
End If
i = i + 1
Application.ScreenUpdating = False startCell = 9
i = 0 'Find the last row Dim LastRow As Long With Worksheets(ARK1) LastRow = _ .Cells.Find("*", after:=.Cells(1), _ LookIn:=xlFormulas, lookat:=xlWhole, _ searchdirection:=xlPrevious, _ searchorder:=xlByRows).Row End With
With Worksheets("ARK1").Select Range("A1").Select Selection.Copy Sheets("ARK2").Select Range("A1").Select ActiveCell.PasteSpecial Paste:=xlValue, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False End With Set ws = ThisWorkbook.Sheets("ARK1") Worksheets(ARK2").Rows(startCell + i).Select Selection.Insert Shift:=xlDown With Worksheets("ARK!).Select 'Find the last row Range("A9", Cells(LastRow - 7, 8)).Select Selection.Copy Sheets("ARK2").Select Range("A9").Select ActiveCell.Insert Shift:=xlDown
medh ensyn til: Kan man skifte fokus til A1 hvergang man skifter mellem 4 ark Forventer jeg at du mener når man skifte manuel, altså udenfor den anden god.
Indlæg denne kode under thisworkbook
Private Sub Workbook_SheetActivate(ByVal Sh As Object) Range("A1").Select
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.