13. september 2018 - 21:45Der er
8 kommentarer og 3 løsninger
Format og værdi i VBA
Hej, Håber der er en kan hjælpe med en vba løsning.
Jeg har et Ark1 (kaldet skærm) hvor jeg gerne vil have 2 værdier til at komme frem ( i celle M20 den ene værdi og L20 den anden værdi), hvis (Ark3/betingelser) celle C3:C42. skrive sand (der er kun en celle der bliver sand af gangen i C3:C42) så skal den hente værdien i Celle B4 og C4 (Ark2/Data) for at vise tallene i M20 og L20 (Ark1/Skærm).
Ikke sikker på det er forståelig, så uddyber herunder. ------------------------------------------------------------------------------------------------------
Hvis (Ark3/betingelser)C3 er Sand så hent (Ark2/Data)B4 til (Ark1/Skærm)M20 og (Ark2/Data)C4 til (Ark1/Skærm)L20 og disse 2 (M20, L20 bliver med Fed skrift med GRØN baggrund.
Hvis (Ark3/betingelser)C4 er Sand så hent (Ark2/Data)B5 til (Ark1/Skærm)M20 og (Ark2/Data)C5 til (Ark1/Skærm)L20 og disse 2 (M20, L20 bliver med Fed skrift med GRØN baggrund.
Hvis (Ark3/betingelser)C5 er Sand så hent (Ark2/Data)B6 til (Ark1/Skærm)M20 og (Ark2/Data)C6 til (Ark1/Skærm)L20 og disse 2 (M20, L20 bliver med Fed skrift med GRØN baggrund.
Hvis (Ark3/betingelser)C6 er Sand så hent (Ark2/Data)B7 til (Ark1/Skærm)M20 og (Ark2/Data)C7 til (Ark1/Skærm)L20 og disse 2 (M20, L20 bliver med Fed skrift med GRØN baggrund.
Hvis (Ark3/betingelser)C7 er Sand så hent (Ark2/Data)B8 til (Ark1/Skærm)M20 og (Ark2/Data)C8 til (Ark1/Skærm)L20 og disse 2 (M20, L20 bliver med Fed skrift med GRØN baggrund.
Hvis (Ark3/betingelser)C8 er Sand så hent (Ark2/Data)B4 til (Ark1/Skærm)M20 og (Ark2/Data)C4 til (Ark1/Skærm)L20 og disse 2 (M20, L20 bliver med Fed skrift med GRØN baggrund.
Hvis (Ark3/betingelser)C9 er Sand så hent (Ark2/Data)B4 til (Ark1/Skærm)M20 og (Ark2/Data)C4 til (Ark1/Skærm)L20 og disse 2 (M20, L20 bliver med Fed skrift med RØD baggrund.
osv. med 6 Grønne og 1 Rød optil C42 (i Ark3/betingelser)
Håber det er til at forstå ellers må jeg prøve igen. Håber ikke jeg skal skrive alle de HVIS HVIS i en celle, så håber på en VBA løsning.
Mon ikke denne brugerdefinerede function vil virke?
[div] Option Explicit Dim rTjek As Range, rResul As Range, rCell As Range Dim iCount As Integer Function MangeHviser(Tjek_Sand_Celler As Range, Resultat_Celler As Range) As Variant Application.Volatile Set rTjek = Tjek_Sand_Celler Set rResul = Resultat_Celler iCount = 1 For Each rCell In rTjek If rCell.Value = True Then MangeHviser = rResul(iCount).Value iCount = iCount + 1 Next End Function
Det er muligt at den brugerdefinerede funk. virker, men ved det jeg faktisk ikke ;)
Har nok lige behov for hjælp til at komme igang, feks med et eksempel og hjælpe tekst...
skal den ind i et nyt modul (har pt andre moduler til til andre opgaver/macroer) ? Og vise hvordan den skal hente data fra 2 ark for at blive vist i hoved ark? Eks: Hvis (Ark3/betingelser)C3 er Sand så hent (Ark2/Data)B4 til (Ark1/Skærm)M20 og (Ark2/Data)C4 til (Ark1/Skærm)L20 og disse 2 (M20, L20) bliver med Fed skrift med GRØN baggrund. "Kunne evt bruge baggrundsfarven i (Ark3/betingelser)A3, da jeg har farver (Grøn eller Rød) i A3:A42"
Perfekt! virker som det skal, tusind tak.... "den skal ind i et modul i cellen du vil have resultatet skriver du =MangeHviser(Ark3!C3:C42;Ark2!B4:B43)"
Er det også muligt at få de fyldfarver jeg har i (Ark3)A3:42 til at følge talene i C3:42?
Der er fordi at der er 6 celler med grøn (A3:A8) og en celle med Rød (A9), derefter 6 Grønne (A10:A14) og en Rød (A15)...osv.
Kan måske lave Fyldfarver i Ark2 B4:B43 så formlen ikke "kun" henter tal men også Fyldfarve/Font, hvis dette er nemmere.
Håber der er nogle der læser denne selvom den er løst :)
Er det muligt at finde dataerne under det der kommer frem med formlen:
[div] Option Explicit Dim rTjek As Range, rResul As Range, rCell As Range Dim iCount As Integer Function MangeHviser(Tjek_Sand_Celler As Range, Resultat_Celler As Range) As Variant Application.Volatile Set rTjek = Tjek_Sand_Celler Set rResul = Resultat_Celler iCount = 1 For Each rCell In rTjek If rCell.Value = True Then MangeHviser = rResul(iCount).Value iCount = iCount + 1 Next End Function
{/div]
Jeg har jo kun et felt afgangen der er SAND og resten er FALSK
Denne virker perfekt til at vise den der SAND =MangeHviser(Calculations!C3:C42;BlindStruktur!B4:B43) Men ved ikke om man kan sige +1 så den viser næste linje.
Nej jeg lavede et nyt modul og ændrede iCount = 1 til 2
Hvis du har tid og lyst så mangler jeg at løse 1 problem.
Jeg har en timer (excelstopwatch)med start/stop/reset som fungere fint, men jeg kunne godt tænke mig at der under det ur er et andet.
Det ur skal tælle ned fra hver time (der er pause hver 60 min.) i ca. 8 timer. eks. Næste pause er om xx:xx (mm:ss) (som helst skal starte når jeg starter hoved uret)
Den er jeg bange for vil ligge dit ark ned, da det som jeg ser det vil kræve en macro der kører hele tiden, ved ikke om man kan bruge computerens ur som trikker ( til at starte en macro)!!
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.