Avatar billede Chewie Novice
03. juli 2003 - 13:50 Der er 28 kommentarer og
1 løsning

Indsæt i celler - med makro

Hej

Så er jeg på banen igen :o)

Jeg her et stort ark hvor man skal indtaste en masse tal
hvor efter der sker en masse udregning i nogle andre ark

Får at spare mine kolegaer for en masse indtastning vil
jeg lave det sådan at mange af tallene er indtastet i forvejen.

Nu er problemet bare at jeg har 6 forskellige modeller, så jeg
har lavet en kombinationsboks hvor man kan vælge den model man
skal bruge (hertil en celle der skifter mellem 1, 2, 3, 4, 5 og 6)

Jeg laver et eks. her hvor jeg bruger de ting den færdige
makro skal indeholde:

---------
B1 er cellekæde der skifter mellem 1, 2, 3, osv

A1 .... hvis B1 = 1 indsæt =HVIS(B3=B4;3+3;"")

A2 .... hvis B1 = 2 farv cellen grå (kan klares med betingetformatering)

A3 .... Hvis B1 = 3 indsæt tallet 12

----------

Makroen må ikke ligge og køre helle tiden !! fordi i nogle
af cellerne er det kun eks. den indsætter som kolegaen
muligvis retter i (lidt dumt hvis den efter
kort retter det tilbage:o)

hilsen
chewie
Avatar billede kabbak Professor
03. juli 2003 - 23:25 #1
Prøv at sætte denne ind i dit ark, den skal i selve ark modulet

sæt selv ind imellem case værdierne.

den køres kun hvis B1 aktiveres / ændres
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row = 1 And Target.Column = 2 Then
Set værdi = Target
Select Case værdi
Case 1

Case 2

Case 3

Case 4

Case 5

Case 6

Case Else
MsgBox " værdien skal være 1 til 6"
End Select
End If
End Sub
Avatar billede Chewie Novice
04. juli 2003 - 09:28 #2
Ja men ...... hvordan ville en makro til ovennævnte se ud ??

B1 er cellekæde der skifter mellem 1, 2, 3, osv

A1 .... hvis B1 = 1 indsæt =HVIS(B3=B4;3+3;"")

A2 .... hvis B1 = 2 farv cellen grå (kan klares med betingetformatering)

A3 .... Hvis B1 = 3 indsæt tallet 12


Jeg er ikke så stiv til det :/
Avatar billede Chewie Novice
04. juli 2003 - 13:13 #3
Arrh nu tror jeg forstå :o)
Avatar billede Chewie Novice
04. juli 2003 - 13:31 #4
Hmmm .... funker ikke helt

1. den bliver først arktiv hvis man klikke i cellen (den skulle gerne være når men bruger kombinationsboksen

2. hvis jeg vil indsætte en formel i en celle ... fejler den

----------------
Select Case værdi
Case 1
    Range("G55").Select
    ActiveCell.FormulaR1C1 = "g"
    Range("H59").Select
    ActiveCell.FormulaR1C1 = "=IF(Privat_død_ratepension=0,R[-5]C[3],"")"
    Range("H60").Select
Case 2
----------------

jeg har prøvet både med
"=IF(Privat_død_ratepension=0,R[-5]C[3],"")"
og med
"=HVIS(bla bla bla
Avatar billede kabbak Professor
04. juli 2003 - 13:44 #5
Prøv den her istedet den virker med det samme.

Med hensyn til formler kan den ikke lide at der er "" i formlen, jeg ved ikke hvorfor, men andre kan måske svare på det.

Herunder har jeg skiftet"" ud med 0, så virker det.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 And Target.Column = 2 Then
Set værdi = Target
Select Case værdi
Case 1
    Range("G55").Select
    ActiveCell.FormulaR1C1 = "g"
    Range("H59").Select
    ActiveCell.FormulaR1C1 = "=If(Privat_død_ratepension=0,R[-5]C[3],0)"
    Range("H60").Select

Case 2

Case 3

Case 4

Case 5

Case 6

Case Else
MsgBox " værdien skal være 1 til 6"
End Select
End If
End Sub
Avatar billede Chewie Novice
04. juli 2003 - 13:56 #6
Kabbak >> hvad er forskellen på den og den første
Avatar billede Chewie Novice
04. juli 2003 - 13:56 #7
ud over 0´et selvfølgelig :o)
Avatar billede kabbak Professor
04. juli 2003 - 15:04 #8
sub hedder nu: Private Sub Worksheet_Change(ByVal Target As Range)

før hed den: Private Sub Worksheet_SelectionChange(ByVal Target As Range)

de er automatiske, men hvad der kalder dem  er lidt forskellig

jeg har fundet ud af "", her er et eksempel

  ActiveCell.FormulaR1C1 = "=IF(RC[-3],2,"""")"
Avatar billede Chewie Novice
04. juli 2003 - 15:20 #9
Det funker ikke :/

det sker ingen ting når jeg vælger den første i kobinationsboksen

----------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 50 And Target.Column = 4 Then
Set værdi = Target
Select Case værdi
Case 1

    Range("G55").Select
    ActiveCell.FormulaR1C1 = "g"
    Range("H59").Select
    ActiveCell.FormulaR1C1 = "=If(Privat_død_ratepension=0,R[-5]C[3],0)"
    Range("H60").Select

Case 2



Case 3

Case 4

Case 5

Case 6

Case Else
MsgBox " :o)"
End Select
End If
End Sub
--------------------
Avatar billede kabbak Professor
04. juli 2003 - 15:26 #10
If Target.Row = 50 And Target.Column = 4 Then

ovenstående betyder at den kikker på celle("D50")

skulle den ikke kikke på Celle("B1") ?.

B1 = If Target.Row = 1 And Target.Column = 2 Then
Avatar billede Chewie Novice
04. juli 2003 - 15:29 #11
Jo .... det var i det eks. jeg satte op ..... den færdige makro skal være i D50 som også er den celle der er knyttet til kobinationsboksen og skifter også fint mellem 1 , 2 , 3 , osv.
Avatar billede Chewie Novice
04. juli 2003 - 15:31 #12
virker også fint hvis jeg bruger denne linie Private Sub Worksheet_SelectionChange(ByVal Target As Range) .......... men kun hvis jeg marker celle D50
Avatar billede kabbak Professor
04. juli 2003 - 15:42 #13
Hvis det er en kobinationsboks, så læg denne kode ind
skriv navnet på din  kobinationsboks i stedet for ComboBox1

Private Sub ComboBox1_Change()
Set værdi = ComboBox1
Select Case værdi
Case 1

    Range("G55").Select
    ActiveCell.FormulaR1C1 = "g"
    Range("H59").Select
    ActiveCell.FormulaR1C1 = "=If(Privat_død_ratepension=0,R[-5]C[3],0)"
    Range("H60").Select

Case 2



Case 3

Case 4

Case 5

Case 6

Case Else
MsgBox " :o)"
End Select


End Sub
Avatar billede kabbak Professor
04. juli 2003 - 15:46 #14
jeg troede at det var datavalidering du brugte, (havde ikke læst dit spørgsmål ordentligt), beklager

Du skal huske at lave en Case som kan nulstiller alt
Avatar billede Chewie Novice
04. juli 2003 - 15:51 #15
skal den stadig ligge på et modul så og hvordan kan jeg hvad min comboboks hedder (kan det passe den hedder "Rullemenu13"
Avatar billede Chewie Novice
04. juli 2003 - 15:58 #16
Det var lidt sort :o)

Skal jeg ligge den ind i et modul ?

hvordan finder jeg ud af hvad kombinationsboksen hedder ? kan det passe den hedder "Rullemenu13"

chewie
Avatar billede kabbak Professor
04. juli 2003 - 15:59 #17
højreklik på din comboboks, vælg vis programkode, det er der det skal ligge
Avatar billede kabbak Professor
04. juli 2003 - 16:00 #18
husk at vælge design først
Avatar billede Chewie Novice
04. juli 2003 - 16:12 #19
hmmm ... jeg ved ikke hvad der er for en mærkelig combobox jeg har fået sat ind ... men der var ingen kode til den :(

jeg har nu indsat en ny men hvordan er det nu lige jeg får tekst i den ??

er det ikke noget med
  UserForm1.ComboBox1.AddItem "KMD", 0
  UserForm1.ComboBox1.AddItem "CSC", 1
  UserForm1.ComboBox1.AddItem "VIR", 2
Avatar billede kabbak Professor
04. juli 2003 - 16:19 #20
Er din combobox i en form, brug den fra kontrolelementer i stedet.

Når du ser på dit ark, højreklik oppe på menubjælken, sæt flueben i kontrolelementer , så kommer den frem, vælg combobox, brug musen og tryk på arket hvor du vil have den.
Avatar billede Chewie Novice
04. juli 2003 - 16:24 #21
Nej det er bare noget gammel kode jeg har kopieret

jeg har sat comboboksen ind på arket .... men der er ikke noget tekst (linie) i den
Avatar billede kabbak Professor
04. juli 2003 - 16:32 #22
1. højreklik på din comboboks, vælg vis programkode, det er der det skal ligge.

2. højreklik på din comboboks, Vælg egenskaber, ud for ListFillRange skriver du( eks. A1:A6) på arket a1 til a6 skriver du så 1 til 6.

du kan selvfølgelig skrive hvorsomhelst du ønsker det, bare du skriver det i ListFillRange.
Avatar billede Chewie Novice
04. juli 2003 - 16:47 #23
hmm nu ser den sådan ud !!

Private Sub ComboBox2_Change()
Set værdi = ComboBox2
Select Case værdi
Case kmd

    Range("G55").Select
    ActiveCell.FormulaR1C1 = "g"
    Range("H59").Select
    ActiveCell.FormulaR1C1 = "=If(Privat_død_ratepension=0,R[-5]C[3],0)"
    Range("H60").Select

Case csc

Case Virksomhed65

Case Virksomhed67

Case Classic65

Case Classic67

Case Else
MsgBox " :o)"
End Select


End Sub
------------------

men MsgBox popper op helle tiden og den ændre ikke noget i arket når jeg vælge 1 (KMD)
Avatar billede kabbak Professor
04. juli 2003 - 16:51 #24
Case "kmd"

Du skal bruge "" når det er tekst
Avatar billede Chewie Novice
04. juli 2003 - 16:53 #25
PUUUUUHHHHHHAAAAA ...... så virker det

Mange Mange tak for hjælpen .... det blev lidt af en tråd :o)
Avatar billede Chewie Novice
04. juli 2003 - 16:54 #26
hæver point så du kan få en god spandfuld

God weekend
Avatar billede kabbak Professor
04. juli 2003 - 16:55 #27
Jaaa, det var det ;-)
Avatar billede Chewie Novice
04. juli 2003 - 16:56 #28
En sidste ting ..... jeg kan ikke markere comboboksen på arket og flytte den .... har du godt fif der :o)
Avatar billede kabbak Professor
04. juli 2003 - 16:59 #29
du skal trykke på den knap hvor der er en trekantet linial på, det er designtilstand, husk at trykke på den igen når du er føærdig.
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