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 - kopiera, output, raderaMakro - kopiera, output, radera
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2019-10-08 09:53
 
Hej! Jag har försökt skriva kod till följande problem efter att ha kollat lite tutorials på youtube men får det fortfarande inte att fungera:


Excelfilen i helhet består av 3 flikar:

FLIK1. MAIN - där informationen från beställningar för tillverkning skrivs in och användaren kan markera uppdragen som "Ej påbörjad", "påbörjad" och "slutförd".

FLIK2. Planering och status - där tabellerna med innehåll för drop-down-listorna i MAIN finns när det gäller planering.

FLIK3. Slutförda_arbeten - När en beställning markerats som "slutförd" i MAIN-fliken ska raden raderas från MAIN och kopieras till slutförda_arbeten.


ÖNSKEMÅL OM FUNKTION:
När man checkar av en rad i MAIN som "slutförd" ska en ruta dyka upp som fråga:
-"Vill du flytta denna beställning till slutförda_arbeten?"

Användaren ska då kunna välja mellan ja/nej. Om ja klickas i ska hela raden raderas från MAIN och flyttas till fliken slutförda_arbeten.
Om användaren klickar i nej så ska åtgärden avbrytas.




Jag är med på att det måste till en If-sats och copy och delete entireRow men på något sätt lyckas jag inte. Jag har lagt in en loop som räknar nerifrån MAIN-tabellen men jag tror jag säger åt den att räkna fel rader och kolumner?

Någon som har något tips på någon tutorial eller på rak arm har en kod att skänka med förklaring till hur jag får med alla rader och kolumner som ska loopas igenom efter sökning av "slutförda" arbeten? :)

Tack för din tid :)
Nytt inlägg
 2019-10-11 08:00
 
Hej hej

I koden nedan behöver du göra en del modifieringar innan makrot fungera
1. Byt namn på flik 1 och 3 inne i Editorn, detta gör du genom att välja bladet på projektfönstret och därefter ändra (Name) i Egenskapsfönstret.
Flik1 ska heta wsMain, Flik3, wsComplete. När du tilldelar namn på detta sätt så kan du anropa dem direkt istället för att behöva gå genom thisworkbook.sheets("blabla")...

2. Byt Kolumm F mot den kolumnen där du vill trigga en Copy/paste/delete
3. I nuvarande kod så klistras raden alltid in på rad 1 i flik 3(wsComplete.Rows(1).EntireRow). Detta bör du ändra så att den istället klistrar in efter sista raden data eller liknande.

4. Koden nedanför måste klistras in i editorn på FLIK1, alltså inte i en modul.


Mvh
Christian

'Triggas av en förändring i en cell på det bladet som koden är inlaggd på
'Rng motsvarar cellen där förändringen skedde
Sub worksheet_change(ByVal rng As Range)


Dim iSect As Range: Set iSect = wsMain.Range("F:F")
'Kontrollerar att förändringen skedde i kolumn F på detta blad
If Not Intersect(rng, iSect) Is Nothing Then
'Stäng av eventhantering
Application.EnableEvents = False
'Kopiera klistra in
rng.EntireRow.Copy wsComplete.Rows(1).EntireRow
'ta bort rad
rng.EntireRow.Delete
Application.EnableEvents = True
End If

End Sub
Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAMakro - kopiera, output, raderaMakro - kopiera, output, radera

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