Avatar billede ullum Praktikant
01. januar 2006 - 15:12 Der er 10 kommentarer og
1 løsning

aktivering af macro

Kører denne
Sub Skub_indhold()
With Worksheets("Stamdata")
    .Range("d4").Copy
    .Range("b10").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
End With
End Sub

og den virker fint, mit prob er bare at den selv skulle finde ud af når data (0 og 1) er ændret i d4, der ser sådan ud =HVIS(F4=SAND;1;0)
Avatar billede bak Forsker
02. januar 2006 - 11:37 #1
prøv at indsætte denne kode i arkets eget kodemodul (højreklik på arkfanen og vælg "Vis programkode")
Hver gang arket rekalkuleres vil den chekke om D4 er ændret og hvis det er tilfældet så kopieres indholdet over i B10

Public vD4 As Variant
Private Sub Worksheet_Calculate()
  If Range("D4") = vD4 Then Exit Sub
  Range("B10").Value = Range("D4").Value
  vD4 = Range("D4")
End Sub
Avatar billede ullum Praktikant
02. januar 2006 - 16:43 #2
bingo svar pls
Avatar billede bak Forsker
02. januar 2006 - 16:59 #3
ok :-*)
Avatar billede ullum Praktikant
04. januar 2006 - 17:10 #4
Public vD4 As Variant
Public vD5 As Variant


Private Sub Worksheet_Calculate()
  If Range("D4") = vD4 Then Exit Sub
  Range("B10").Value = Range("D4").Value
  vD4 = Range("D4")
 
 
  If Range("D5") = vD5 Then Exit Sub
  Range("b11").Value = Range("D5").Value
  vD5 = Range("D5")
End Sub

Hej Bak, kan du sige mig hvorfor det så ikke virker med d5
Avatar billede bak Forsker
04. januar 2006 - 18:53 #5
Det virker ikke med D5, da den allerede springer ud af sub'en idet der konstanteres at D4 = vD4
Denne lille ændring burde gøre det:

Public vD4 As Variant
Public vD5 As Variant


Private Sub Worksheet_Calculate()
  If Range("D4") = vD4 Then GoTo Test_D5
  Range("B10").Value = Range("D4").Value
  vD4 = Range("D4")

Test_D5:
  If Range("D5") = vD5 Then Exit Sub
  Range("b11").Value = Range("D5").Value
  vD5 = Range("D5")
End Sub
Avatar billede ullum Praktikant
05. januar 2006 - 18:56 #6
Undskyld jeg bliver ved (jeg vil gerne give flere p, men det kan vi lige tage bagefter)

Det virkede fint som du skrev, nu udvider jeg så med endnu en, men den vil den så ikke køre før jeg ændre noget ved d5

Public vD4 As Variant
Public vD5 As Variant
Public vD6 As Variant


Private Sub Worksheet_Calculate()
  If Range("D4") = vD4 Then GoTo Test_D5
  Range("B10").Value = Range("D4").Value
  vD4 = Range("D4")

Test_D5:
  If Range("D5") = vD5 Then Exit Sub
  Range("b11").Value = Range("D5").Value
  vD5 = Range("D5")
 
Test_D6:
  If Range("D6") = vD6 Then Exit Sub
  Range("b12").Value = Range("D6").Value
  vD6 = Range("D6")
End Sub
Avatar billede bak Forsker
05. januar 2006 - 19:23 #7
Public vD4 As Variant
Public vD5 As Variant
Public vD6 As Variant


Private Sub Worksheet_Calculate()
  If Range("D4") = vD4 Then GoTo Test_D5
  Range("B10").Value = Range("D4").Value
  vD4 = Range("D4")

Test_D5:
  If Range("D5") = vD5 Then GoTo Test_D6
  Range("b11").Value = Range("D5").Value
  vD5 = Range("D5")
 
Test_D6:
  If Range("D6") = vD6 Then Exit Sub
  Range("b12").Value = Range("D6").Value
  vD6 = Range("D6")
End Sub
Avatar billede ullum Praktikant
06. januar 2006 - 17:03 #8
bak du er gud

spm, det virker som om at jeg skal skifte værdi to gange i et felt når arket lige er åbnet, kan det forklares/fixes?
Vil du have flere p?
Avatar billede bak Forsker
06. januar 2006 - 17:20 #9
nix, ikke engang guru :-)

Problemet er at de tre varible ikke har nogen værsi til at starte med.
Indsæt det her samme sted, således at de bliver initialisede når arket vælges.

Private Sub Worksheet_Activate()
vD4 = Range("D4")
vD5 = Range("D5")
vD6 = Range("D6")
End Sub
Avatar billede bak Forsker
06. januar 2006 - 17:21 #10
slåfejl: værsi = værdi
og jeg ønsker ikke flere points :-)
Avatar billede ullum Praktikant
07. januar 2006 - 13:39 #11
nemlig ja, nemlig :-)
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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