Avatar billede mfj1 Nybegynder
03. januar 2003 - 18:06 Der er 16 kommentarer og
1 løsning

Tal og tekst fra kolonner til boks

Makroen der følger finder værdien i kolonne A som vises i boksen sammen med den tilhørende tekst.

I dag viser Makroen tallet i boksen i linie nr. 1. og teksten vises i linie nr. 2, er teksten for lang deles den automatisk i 2 linier.

Nu vil jeg gerne have Makroen til også at vise den tilhørende tekst i kolonne C og D,
Men jeg vil gerne have vist tallet og teksterne som følger:
>1234567<
>Her bestemmer du osv aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<
>2345D<
>GHJK<

Mit spørgsmål er, hvordan får jeg Makroen til at vise tal og tekst i min. 4 linier?


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim ss As String
  On Error GoTo fejl
    If Not Intersect(Target, Range("c8:c200")) Is Nothing Then
    Cancel = True
    ss = "'" & Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\"))
    ss = ss & "[JOBnrMed_Tekst.xls]Sheet1'!$A$2:$D$2500,23,false"
    ss = "=vlookup(" & Target.Address & "," & ss & ")"
    [aa1].Formula = ss
    If IsError([aa1]) Then MsgBox Target.Value & vbCr & ("Ingen hjælpetekst") Else MsgBox Target.Value & vbCr & [aa1].Value
    '[aa1].Clear
  End If
  Exit Sub
fejl:
  MsgBox ("der er sket en fejl")
End Sub

mfj1
Avatar billede mfj1 Nybegynder
03. januar 2003 - 19:55 #1
Der er en fejl i Makroen
ss = ss & "[JOBnrMed_Tekst.xls]Sheet1'!$A$2:$D$2500,23,false"
linien skal se sådan ud:
ss = ss & "[JOBnrMed_Tekst.xls]Sheet1'!$A$2:$D$2500,2,false"

mfj1
Avatar billede Slettet bruger
03. januar 2003 - 21:52 #2
Du skifter linie med 'vbCR'

f.eks:
MsgBox "Hej med dig" & vbCr & "mit navn er kaj !"
Avatar billede mfj1 Nybegynder
04. januar 2003 - 14:33 #3
blackadder
Det funger, - men ikke helt som jeg gerne vil have det til.
Nu vises boksen med tallet fra kolonne A i første linie og den tilhørende tekst fra kolonne B vises i linie 2.

Der vises ikke mere, men klikker jeg på OK på boksen vises en ny boks uden tekst.
Avatar billede mfj1 Nybegynder
04. januar 2003 - 17:18 #4
hov du fik hvis point før tid, men ok hvis hjælpen kommer.
Avatar billede Slettet bruger
04. januar 2003 - 19:44 #5
Prøv med:

---------------------
MsgBox Target.Value & vbCr & _
        [aa1].Value & vbCr & _
        [aa1].Offset(0, 1).Value & vbCr & _
        [aa1].Offset(0, 2).Value
---------------------
Avatar billede mfj1 Nybegynder
04. januar 2003 - 22:42 #6
Det funger ikke hos mig.??
Avatar billede Slettet bruger
05. januar 2003 - 00:07 #7
Prøv med:
------------------------
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Viser værdien af...
' Rk.1: Cellen der klikkes på
' Rk.2: Celle AA1
' Rk.3: Cellen 2 kolonner til højre for den celle der klikkes på
' Rk.4: Cellen 3 kolonner til højre for den celle der klikkes på
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

MsgBox Target & vbCr & _
        [aa1] & vbCr & _
        Target.Offset(0, 2) & vbCr & _
        Target.Offset(0, 3)
------------------------------

Sig til hvis jeg har misforstået spørgsmålet
Avatar billede Slettet bruger
05. januar 2003 - 00:09 #8
Dvs. Hvis du klikker på A1, burde du få værdierne af:

A1
AA1
C1
D1
Avatar billede mfj1 Nybegynder
05. januar 2003 - 11:25 #9
Jeg ved ikke, om det er noget du har misforstået, det er nok mere mine evner til at forklare en meget vanskelig opgave jeg ikke er helt DUS med. Jeg prøver engang til:

1. Jeg har filen  >JOBnrMed_Tekst.xls<  her er der i kolonne A  min. 2500 forskellige tal som der søges på.

2. I kolonne B er der en tekst der tilhøre det enkelte tal i kolonne A., der er også en tekst i kolonne C og D.

3. Her er et eksempel på det jeg ønsker vist i boksen:
Kolonne A: >1234567<
Kolonne B: >Her bestemmer du osv aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<
Kolonne C: >2345D<
Kolonne D: >GHJK<

4.Nu er ovennævnte fil lukket. Jeg åbner nu en fil lad os kalde den >SIM<, men navnet er uden betydning. Her er der skrevet nogle tal/værdier ind i kolonne C8:C200 se Makroen

>>If Not Intersect(Target, Range("c8:c200")) Is Nothing Then<<

Når jeg dobbelt klikker på f.eks. C8 som har tallet 1234567
Vises:

>1234567<
>Her bestemmer du osv aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<
>2345D<
>GHJK<

i boksen, men p.t. er det kun de første to linier der vises.

I celle AA1 vises følgende LOPSLAG som normalt er skjult:

>=LOPSLAG($C$8;[JOBnrMed_Tekst.xls]Sheet1!$A$2:$D$2500;2;FALSK<

Jeg håber det er blevet lidt mere tydeligt hvad jeg ønsker:

Mfj1
Avatar billede Slettet bruger
05. januar 2003 - 16:03 #10
Som jeg forstår det nu...

Du ønsker at erstatte linien:
----------
Else MsgBox Target.Value & vbCr & [aa1].Value
----------

Med en MsgBox der viser værdier fra 4 celler, en på hver linie.

Hvilke 4 celler er det du gerne vil have vist værdien af, i forhold til
den celle der dobbeltklikkes på ?
Avatar billede mfj1 Nybegynder
05. januar 2003 - 17:15 #11
Når jeg dobbelt klikke på et tal (1234567) i filen >SIM<  laver Makroen et LOPSLAG i filen  >JOBnrMed_Tekst.xls<  og finder tallet (1234567) i f.eks. celle A2.
Nu ønsker jeg at tallet i celle A2 vises som linie et
Teksten i celle B2 vises som linie to
Teksten i celle C2 vises som linie tre
Teksten i celle D2 vises som linie fire

Havde tallet stået i celle A8 havde det været celle B8, C8, D8

De to første linier vises i dag perfekt.
Avatar billede Slettet bruger
05. januar 2003 - 17:40 #12
Prøv denne her.
Det er ikke specielt elegant, og heller ikke testet, men
hvis du kan se princippet i det ?

------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim ss, ss2, ss3 As String
  On Error GoTo fejl
    If Not Intersect(Target, Range("c8:c200")) Is Nothing Then
    Cancel = True
    ss = "'" & Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\"))
   
    ss2 = ss & "[JOBnrMed_Tekst.xls]Sheet1'!$A$2:$D$2500,24,false"
    ss3 = ss & "[JOBnrMed_Tekst.xls]Sheet1'!$A$2:$D$2500,25,false"
    ss = ss & "[JOBnrMed_Tekst.xls]Sheet1'!$A$2:$D$2500,23,false"
   
    ss = "=vlookup(" & Target.Address & "," & ss & ")"
    ss2 = "=vlookup(" & Target.Address & "," & ss2 & ")"
    ss3 = "=vlookup(" & Target.Address & "," & ss3 & ")"
   
    [aa1].Formula = ss
    [aa2].Formula = ss2
    [aa3].Formula = ss3
   
    If IsError([aa1]) Then MsgBox Target.Value & vbCr & ("Ingen hjælpetekst")
        Else: MsgBox Target.Value & vbCr & _
                    [aa1].Value & vbCr & _
                    [aa2].Value & vbCr & _
                    [aa3].Value
       
    '[aa1].Clear
  End If
  Exit Sub
fejl:
  MsgBox ("der er sket en fejl")
End Sub
-----------------
Avatar billede mfj1 Nybegynder
05. januar 2003 - 19:56 #13
Jeg har prøve at teste Makroen, efter jeg har rettet et par af MINE fejl, og får følgende besked

I AA1 vises følgende:
=LOPSLAG($C$8;'C:\Documents and Settings\JFM\Skrivebord\[JOBnrMed_Tekst.xls]Sheet1'!$A$2:$D$2500;2;FALSK)
Og i celle AA1 vises teksten fra kolonne B perfekt.

I AA2 vises følgende:
=LOPSLAG($C$8;'C:\Documents and Settings\JFM\Skrivebord\[JOBnrMed_Tekst.xls]Sheet1'!$A$2:$D$2500;3;FALSK)
Og i celle AA2 vises teksten fra kolonne C perfekt.

I AA3 vises følgende:
=LOPSLAG($C$8;'C:\Documents and Settings\JFM\Skrivebord\[JOBnrMed_Tekst.xls]Sheet1'!$A$2:$D$2500;4;FALSK)
Og i celle AA2 vises teksten fra kolonne også C perfekt.

Men Makroen vil ikke vise boksen med tekst og det kan jeg ikke se hvorfor.
Jeg lægger lige Makroen som den ser ud NU:

Private Sub ComboBox1_GotFocus()
Dim s()
s = Array("Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag", "GODKEND")
ComboBox1.List = s
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim ss, ss2, ss3 As String
  On Error GoTo fejl
    If Not Intersect(Target, Range("c8:c200")) Is Nothing Then
    Cancel = True
    ss = "'" & Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\"))
   
    ss3 = ss & "[JOBnrMed_Tekst.xls]Sheet1'!$A$2:$D$2500,4,false"
    ss2 = ss & "[JOBnrMed_Tekst.xls]Sheet1'!$A$2:$D$2500,3,false"
    ss = ss & "[JOBnrMed_Tekst.xls]Sheet1'!$A$2:$D$2500,2,false"
   
    ss = "=vlookup(" & Target.Address & "," & ss & ")"
    ss2 = "=vlookup(" & Target.Address & "," & ss2 & ")"
    ss3 = "=vlookup(" & Target.Address & "," & ss3 & ")"
   
    [aa1].Formula = ss
    [aa2].Formula = ss2
    [aa3].Formula = ss3
   
    If IsError([aa1]) Then MsgBox Target.Value & vbCr & ("Ingen hjælpetekst")
        Else: MsgBox Target.Value & vbCr & _
                    [aa1].Value & vbCr & _
                    [aa2].Value & vbCr & _
                    [aa3].Value
       
    '[aa1].Clear
  End If
  Exit Sub
fejl:
  MsgBox ("der er sket en fejl")
End Sub
Avatar billede mfj1 Nybegynder
05. januar 2003 - 19:58 #14
sorry de første 6 linier i Makroen er en fejl
Avatar billede Slettet bruger
05. januar 2003 - 20:41 #15
Der skal nok ikke være colon efter 'Else'
Avatar billede mfj1 Nybegynder
05. januar 2003 - 21:11 #16
MANGE, MANGE TAK for hjælpen nu virker det perfekt, men det var nærmest umuligt at fjerne det kolon.
Avatar billede Slettet bruger
05. januar 2003 - 22:42 #17
Ok, godt det virker  :-)
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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