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

 
ForumForumDiskussionerDiskussionerVBAVBAHämta ordrar med hjälp av makroHämta ordrar med hjälp av makro
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2021-01-14 11:23
 

 Hej!

Jag har ett dokument med samlade ordrar som jag vill flytta över till ett annat blad. Raderna består av ordrar och första kolumnen säger "JA" respektive "NEJ" beroende på om ordern är färdig eller inte. JA och NEJ baseras på ett saldo värde.

Det jag skulle vilja ha hjälp med(Om möjligt) är att via en knapp föra över rader som ej är färdiga till ett annt blad alltså "NEJ" alt. mer än 0 i saldo.

Jag kan spela in hela funktionen men via inspelning så får jag den inte att ta med nya ordrar som lagts till. Så kort sagt, jag vill från blad 1 hämta ofärdiga ordrar till blad 2 och varje gång jag trycker på knappen så skall den hämta eventuella nya ordrar.

Tex:

Färdig:   Beskrivning:    Saldo
NEJ         Strumpor           3

NEJ          Stjorta              2

 

Är det någon som sitter på denna kunskap och kan hjälpa mig?

 

Nytt inlägg
 2021-01-18 09:14
 

 Hej hej

Nedan kod gör jobbet. Ordrarna läses kopieras och raderas nedifrån och upp. Går att läsa uppifrån och ner med, men detta tar längre tid att programmera. Du behöver ändra enligt mina kommentarer för att koden ska fungera.

Mvh

Christian

Sub TransferOrders()

    

    'Ändra bladnamn så det stämmer med hur du har det på de två raderna nedan. sws, Sourceworksheet är källan, dws (destinationworksheet)

    Dim sws As Worksheet: Set sws = ThisWorkbook.Worksheets("Blad1")

    Dim dws As Worksheet: Set dws = ThisWorkbook.Worksheets("Blad2")

    Dim Printrow As Long

    Printrow = dws.usedrange.Rows(dws.usedrange.Rows.Count).Row + 1

    Dim mcell As Range

    Dim i As Long

    

    'Ändra så att kolumnnumret usedrange.Columns(1) är där det står nej, (A är 1)

    For i = sws.usedrange.Columns(1).Cells.Count To 1 Step -1

        'Ändra så att mcell sätts till Nej-kolumnen

        Set mcell = sws.usedrange.Cells(i, 1)

        'Ändra så att förskjutningen från Nej-kolumnen hamnar i saldokolumnen (offset(0, 3)

        If UCase(mcell) = "NEJ" Or mcell.Offset(0, 3) > 0 Then

            mcell.EntireRow.Copy dws.Rows(Printrow)

            mcell.EntireRow.Delete

            Printrow = Printrow + 1

        End If

    Next i

 

End Sub

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAHämta ordrar med hjälp av makroHämta ordrar med hjälp av makro

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