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

 
ForumForumDiskussionerDiskussionerVBAVBAHide.rows based on valueHide.rows based on value
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2016-10-02 14:08
 

 Hej!

Jag skulle behöva dölja alla rader i Sheet1 som innehåller värdet <= 0 i kollumn "E".

Värdet i kollumn E hämtas från kollumn "F" i Sheet3 som i sin tur baseras på en formel (där alla värden kommer från Sheet3 om det nu kan påverka).

Vidare så vill jag att när värdet i kollumn F (Sheet3) ändras så att värdet i kollumn E (Sheet1) >0 så kommer raden att automatiskt visas igen "unhide".

Någon som har en bra idé för detta?

Själv kommer jag så långt att jag kan dölja raderna. Men de uppdateras inte då värdet ändras till positivt.

Tacksam för svar.

Nytt inlägg
 2016-10-03 15:02
 

 Hej Cosgroove

Dela gärna med dig av din kod så blir det lättare att felsöka. 

/C

Nytt inlägg
 2016-10-04 13:01
 
 Ändrad av anonymous  på 2016-10-04 13:03:31
1. Det beror som sagt var på hur du gör för att dölja

2. Jag tror du måste in i händelsehanteringens otrevliga värld (händelsehantering är ett enkelt sätt att skaffa sig problem...)

Händelsehantering innebär att du "bevakar" någonting för att fånga en händelse (ändrade data, knapptryckningar, musklick osv). I det här fallet är du förmodligen intresserad av händelsen "calculate" på Sheet1.

Det enklaste sättet att komma till rätt kod är genom att högerklicka på fliknamnet "sheet1" (längst ner på sidan) och välja "Visa kod".

Högst upp i kodbladet som visas har du nu två "rullgardiner". Den vänstra bestämmer omfattning (Worksheet). Och den högra vilken händelse du är ute efter (Calculate). Nu skapar excel ett skelett åt dig och du kan skriva in den kod du vill köra när någonting på sheet1 beräknas. Ett enkelt exempel :

Private Sub Worksheet_Calculate()
Worksheets("Sheet1").Range("E:E").AutoFilter Field:=1, Criteria1:=">0"
End Sub

Koden kan naturligtvis ersättas av ett anrop till den "sub" du tidigare skapat för att dölja rader. Förmodligen vill du köra in ett villkor + lite felhanteringskod

/Ano. Moose

PS: Om du har skapat filtret en gång så tror jag nästan att det räcker med:

Private Sub Worksheet_Calculate()
Worksheets("Sheet1").AutoFilter.ApplyFilter
End Sub

Men jag är inte 100% på hur excel minns filter om någon är inne och fingrar, så den första koden kanske är att föredra.
Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAHide.rows based on valueHide.rows based on value

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