Avatar billede mikker Nybegynder
04. april 2003 - 14:41 Der 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

osv osv ud i det uendelige...

- Mikker
Avatar billede bak Forsker
04. april 2003 - 15:15 #1
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
Avatar billede martin_moth Mester
04. april 2003 - 15:25 #2
Mht 1:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Message As String
    Message = "Der blet ændret i række "
    Message = Message & Target.Row
    Message = Message & ", kolonne "
    Message = Message & Target.Column

    MsgBox Message, vbOKOnly, "Giv agt"   
End Sub
Avatar billede bak Forsker
04. april 2003 - 15:30 #3
Martin > hvis et regneark bliver ændret via et link køres worksheet_change ikke.
Avatar billede martin_moth Mester
04. april 2003 - 15:42 #4
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)
Avatar billede martin_moth Mester
04. april 2003 - 15:43 #5
Mikker: Bemærk at det "uendelige" stopper i række 65536 :o)
Avatar billede bak Forsker
04. april 2003 - 15:44 #6
Det er nu også svært at se ud af spørgsmålet, men jeg gik ud fra at det hang sammen med http://www.eksperten.dk/spm/337260
Avatar billede mikker Nybegynder
04. april 2003 - 16:13 #7
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.
Avatar billede bak Forsker
07. april 2003 - 11:07 #8
Det er da iorden Mikker.
Jeg troede du ville have det til at ske automatisk hver du rullede et skræmbillede i din 5250 emulator.
Avatar billede martin_moth Mester
07. april 2003 - 12:37 #9
hvem er "netto" ?  ;o)
Avatar billede mikker Nybegynder
07. april 2003 - 17:31 #10
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
Avatar billede martin_moth Mester
08. april 2003 - 09:23 #11
Tænk - har vi hjulpet en Netto-mand med en Macro - kan vi så få noget rabat til gengæld ;o)
Avatar billede mikker Nybegynder
09. april 2003 - 09:59 #12
JEG HADER NÅR JEG SKAL KOMME MED UNDSKYLDNINGER.

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)

- Mikker
Avatar billede bak Forsker
09. april 2003 - 10:35 #13
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
Avatar billede bak Forsker
09. april 2003 - 10:50 #14
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.
Avatar billede mikker Nybegynder
09. april 2003 - 19:42 #15
Som vi siger: Priserne er lave nok i sig selv, man behøver ikke rabat :O)

Anyway jeg takker mange gange for dit arbejde nu står det hele lissom lidt klarere.

- Mikker
Avatar billede martin_moth Mester
09. april 2003 - 22:26 #16
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)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester