22. januar 2003 - 16:16Der er
4 kommentarer og 1 løsning
Makro med If og Do... 2
Nu har jeg så fået nedenstående til at virke. Cool. Men hvad gør jeg hvis jeg vil tilføje en produkt "standard" som skal listes på "ark3"?
Public Sub Demo() Dim rCell As Range Dim wksPaste As Worksheet
Set wksPaste = Worksheets("Ark2")
For Each rCell In ActiveSheet.UsedRange.Columns(1).Cells If UCase(rCell.Offset(0, 6).Value) = "PRO" Then rCell.EntireRow.Copy wksPaste.Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues End If Next rCell
' Clean up Application.CutCopyMode = False Set wksPaste = Nothing End Sub
Public Sub Demo() Dim rCell As Range Dim wks2 As Worksheet Dim wks3 As Worksheet
Set wks2 = Worksheets("Ark2") Set wks3 = Worksheets("Ark3")
For Each rCell In ActiveSheet.UsedRange.Columns(1).Cells rCell.EntireRow.Copy Select Case UCase(rCell.Offset(0, 6).Value) Case "PRO" wks2.Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues Case "STANDARD" wks3.Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues End Select Next rCell
' Clean up Application.CutCopyMode = False Set wks2 = Nothing Set wks3 = Nothing End Sub
JA, og jeg har nu efterfølgende lavet lidt om så arkene automatisk sorterer... Meget simpelt. Men hvordan får jeg slettet arkene og får den til at vende tilbage til det aktive ark... De steder med XXX ved jeg godt at der er fejl...
Public Sub sorter() Dim rCell As Range Dim wks2 As Worksheet Dim wks3 As Worksheet XXX Dim asheet As String
Set wks2 = Worksheets("2003") Set wks3 = Worksheets("2004")
Sheets("2003").Select Cells.Select Selection.ClearContents Sheets("2004").Select Cells.Select Selection.ClearContents Sheets("2005").Select Cells.Select Selection.ClearContents XXX Sheets(asheet).Select (Her vil jeg gerne have at den går tilbage til det aktive ark, der skal deles ud på de andre...
For Each rCell In activesheet.UsedRange.Columns(1).Cells rCell.EntireRow.Copy Select Case UCase(rCell.Offset(0, 17).Value) Case "2003" wks2.Range("A65536").End(xlUp).Offset(3, 0).PasteSpecial xlPasteValues Case "2004" wks3.Range("A65536").End(xlUp).Offset(3, 0).PasteSpecial xlPasteValues End Select Next rCell
' Paste data to sheets For Each rCell In ActiveSheet.UsedRange.Columns(1).Cells rCell.EntireRow.Copy Select Case UCase(rCell.Offset(0, 17).Value) Case "2003" wks2003.Range("A65536").End(xlUp).Offset(3, 0).PasteSpecial xlPasteValues Case "2004" wks2004.Range("A65536").End(xlUp).Offset(3, 0).PasteSpecial xlPasteValues Case "2005" wks2005.Range("A65536").End(xlUp).Offset(3, 0).PasteSpecial xlPasteValues End Select Next rCell
' Clean up Application.CutCopyMode = False Set wks2003 = Nothing Set wks2004 = Nothing Set wks2005 = Nothing End Sub
Synes godt om
Ny brugerNybegynder
Din løsning...
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.