04. april 2003 - 14:41Der er
15 kommentarer og 1 løsning
2 nemme makrospg
Hej alle.
Jeg har idag forsøgt mig med et spørgsmål i excel kategorien, men med svigtende held :O(
Altså en ny opgave til hjernerne...
Vi befinder os altså i min syge hjerne hvor følgende spørgsmål ligger og banker imod hjernebarken. Eller er det tømmermændene?
1/ Kan det lade sig gøre at lade en makro ligge og smug-lure indtil der sker en ændring i en celle for så at springe frem og udføre sin sjofle mission?
2/ Jeg skal aflæse fra ark1 og sætte ind i ark2. Hvergang der i ark1 sker en ændring i celle A1 - A19 skal jeg indsætte dette i ark 2 som en APPEND...
Altså: første gennemkørsel: ark1 A1-A19 sættes ind i ark2 A1-A19 anden gennemkørsel: ark1 A1-A19 sættes ind i ark2 A20-A39
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
Ja, alt kan lade sig gøre i excel :-) Dette forslag baserer sig på at Ark1 skal foretage en recakulation hver gang dit skærmbillede opdateres. Problemet ligger så i om en opdatring af dit skærmbillede fremtvinger 1 eller 19 recalculationer. Hvis det kun er 1 virker nedenstående makro fint ellers må den jo modificeres. Hvis det slet ikke giver en rekalkulation så skriv =A1 i en tilfældig celle. Makro indsættes i arkets (Ark1) eget kodemodul (højreklik på arkfanen, klik på "vis Programkoder")
Private Sub Worksheet_Calculate() Dim varRNG As Variant Dim x As Range varRNG = Range("A1:A19") Set x = Sheets("Ark2").Range("a65536").End(xlUp).Offset(1, 0) x.Resize(19) = varRNG End Sub
Aha - men jeg havde nu heller ikke forestillet mig at det skulle ændres via. et link... Mikker kan bruge det hvis han vil - det virker ved "alm" ændringer i et regneark :o)
Hej med Jer !!! Det er nemlig rigtigt at det hænger sammen med det spørgsmål, men da jeg sidder på arbejdet og var en LILLE smule presset blev jeg nødt til at søge nye græsgange :O) For så ikke at blive beskyldt for at kopiere spørgsmål lukkede jeg det første og startede et nyt. OG VOILA! Fluks kom der svar FANTASTISK! Tak for Jeres besvær gutter. Indtil videre har jeg flækket følgende sammen:
Option Explicit
Sub dde_test2() ' ' dde_test2 Makro ' Makro indspillet 04-04-2003 af netto ' ' Genvejstast:Ctrl+q ' Dim flyttil As String Application.CutCopyMode = False Sheets("Ark2").Select If Range("A1").Value = 1 Then Range("A1").Value = 2 End If flyttil = "A" & Range("A1").Value Sheets("Ark1").Select Selection.Copy Sheets("Ark2").Select Range(flyttil).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("A1").Value = Range("A1").Value + 19 Sheets("Ark1").Select End Sub
Kunne man kæde det sammen med Martins svar ville det bare være JABADABADUUUUU !! Derfor ser jeg mig nødsaget til at acceptere Martins svar.
bak>> Det er forhåentlig også det der vil ske med _change .... Jeg må jo indrømme at jeg aldrig har været så stærk i makroer og derfor mener jeg Martins svar er nemmest at gå til :O) Hvem ved, det kan være jeg kommer krybende tilbage og trygler om tilgivelse :O)
Martin>> Hvem Netto er? Hmmmm De betaler min 'tårnhøje' hyre :O)
Men I skal ihvertfald have tak for Jeres svar - Mikker
Nå færdig med at råbe... Hmmmmmmm Det er svært at få sagt, men jeg har faktisk kun kunnet få bak's version til at virke.... ikke at jeg til fulde forstår den, men den virker...
bak>> Hvis du mener du har fortjent points, så smid lige en besked og jeg opretter nogle til dig. Du er mesteren undskyld undskyld. :O)
Det er helt OK, Mikker. Jeg behøver ikke points, bare jeg kan få rabat :-)
du kan også lige få den som en one-liner:
Private Sub Worksheet_Calculate() Sheets("Ark2").Range("a65536").End(xlUp).Offset(1, 0).Resize(19).Value = _ Sheets("Ark1").Range("A1:A19").Value End Sub
Den registrerer når Ark1 foretager en genberegning. Tager så værdierne fra Sheets("Ark1").Range("A1:A19") og finder bunden af kolonne A på ark2 (a65536), går op til første celle med noget i (end(xlUp)), går en celle ned (Offset(1, 0)), definerer et område på 19 celler (Resize(19))og fylder værdierne fra Ark1 heri.
Hvis bak vil have nogle af de points jeg fik, må du sig til. Kan nu ikke forstå hvorfor du ikke kan få "min" løsning til at du, der virker fortrineligt hos mig. Nok om det - ses i Netto ;o)
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.