Avatar billede gider_ikke_mere Nybegynder
12. marts 2004 - 14:20 Der er 4 kommentarer og
1 løsning

Variabel i formel

Public Sub SletValgteMotorer()
Dim MotPladsNr As String

MotPladsNr = RANGE("PLADS").Value
 
RANGE(MotPladsNr).SELECT ‘I dette tilfælde A50

      ActiveCell.FormulaR1C1 = "=CONCATENATE(""SIDE  "",MOT1)"
      ActiveCell.Offset(0, 1).RANGE("A1").Select

End Sub

’Værdien af cellen MOT1 er "11"
’Formularen I cellen A50 er: =SAMMENKÆDNING("SIDE  ";MOT1)
’Resultatet i celle A50 er: "SIDE 11"

Makroen skal kunne skydes af på forskellige celler. Det har jeg styr på!
Men MOT1 skal kunne skiftes ud af en variabel som kan have forskellige cellereferencer, f.eks MOT1, MOT2 osv.

Hvis jeg erklærer en ny variabel således:

Public Sub SletValgteMotorer()
Dim MotPladsNr As String
Dim TEST As String

TEST = "MOT2"
MotPladsNr = RANGE("PLADS").Value
 
RANGE(MotPladsNr).SELECT ‘I dette tilfælde A50

      ActiveCell.FormulaR1C1 = "=CONCATENATE(""SIDE  "",TEST)"
      ActiveCell.Offset(0, 1).RANGE("A1").Select

End Sub

…så bliver resultatet:
’Formularen I cellen A50 er: =SAMMENKÆDNING("SIDE  ";TEST)
’Resultatet i celle A50 er: "#NAVN"

’Problemet er at formularresultatet SKAL se således ud:
’ =SAMMENKÆDNING("SIDE  ";MOT2)
... med celleresultatet: "side 12"
Avatar billede bak Forsker
12. marts 2004 - 15:38 #1
Jeg har ingen ide om hvad den skal gøre :-)
men her er et bud på at komme videre

Public Sub SletValgteMotorer()
Dim MotPladsNr As String
Dim TEST As String

TEST = Range("MOT2")
MotPladsNr = Range("PLADS").Value
 
Range("MotPladsNr").Select

      ActiveCell.FormulaR1C1 = "=CONCATENATE(""SIDE  ""," & TEST & ")"
      ActiveCell.Offset(0, 1).Range("A1").Select

End Sub
Avatar billede gider_ikke_mere Nybegynder
13. marts 2004 - 10:42 #2
Det var lige præcis [" & TEST & "] jeg skulle have på plads.
Hvis TEST skal erklæres som en Public string så den kan ses af både Forms og Modules, hvor skal den så erklæres?
Jeg har prøvet at sætte [Public TEST as String] overalt i mit projekt, men enten kan TEST kun ses af en Form, eller af moduler!
Kan en Variabel erklæres så den også kan ses af selve arket, således at hvis TEST = "forsøg" kan man ved at skrive =TEST i en celle få resultatet "forsøg"
Avatar billede bak Forsker
13. marts 2004 - 10:50 #3
public Test as String skal bare stå allerøverst i et modul (ikke i en sub).
Ja, den gælder så for alle moduler og forms.

Nej, den kan ikke ses af selve arket.
men måske kan du bruge navngivning istedet
ActiveWorkbook.Names.Add Name:="test", RefersToR1C1:="=""Forsøg"""

så kan du skrive =test  i en tilfældig celle og få returneret "forsøg"
Avatar billede gider_ikke_mere Nybegynder
14. marts 2004 - 13:03 #4
Jeg har simpelthen ikke før kunnet få erklæret Test til at kunne ses at min Form ved at erklære den øverst i et modul, men nu virker det lige pludseligt! Vil du "svare" ?
Avatar billede bak Forsker
14. marts 2004 - 13:22 #5
måske skal man bare tro på det... :-)
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