Avatar billede gammer Nybegynder
28. marts 2008 - 21:52 Der er 10 kommentarer og
1 løsning

VBA: "flettefelt" via inputboks el. userform

Jeg har en inputbox hvor jeg indtaster en tekst. I inputboxen vil jeg, udover selve teksten, også gerne have mulighed for at indtaste et felt/kode der kalder en variabel f.eks. med kundenr.

I inputboxen indtaster jeg f.eks. følgende:

Besked til kunde [KundeNr]

Strengen fra inputboksen skal returnere teksten + kundenummeret.

I VBA vil jeg f.eks. skrive linien sådan:
  InputBoxString = "Besked til kunde " & KundeNr

Håber spørgsmålet er til at forstå, ellers må i sige til.
Avatar billede word-hajen Nybegynder
28. marts 2008 - 21:59 #1
Ikke helt forstået. Har du kundenummeret i forvejen eller skal det indtastes af brugeren - for så at blive brugt til noget andet?
Avatar billede gammer Nybegynder
28. marts 2008 - 22:29 #2
Kundenummeret har jeg i forvejen. Det er repræsenteret af en variabel jeg vil "kalde".

Det jeg forsøger at opnå er det samme resultat, som hvis jeg i VBA skrev følgende linie:

  InputBoxString = "Besked til kunde " & KundeNr

Her er jeg interesseret i det samme resultat, men blot via inputboksen
29. marts 2008 - 00:01 #3
Jeg ved heller ikke om jeg forstå det rigtigt... er det noget alla dette du mener?

Sub Demo()
    Const sKNR As String = "[KundeNr]"
    Dim sKundeNr As String
    sKundeNr = InputBox("Indtast kundenr", "Indtast kundenr", sKNR)
    If Not sKundeNr = sKNR Then
        sKundeNr = "Besked til kunde " & sKundeNr
    End If
   
    MsgBox sKundeNr, vbOKOnly, "Demo Result"
End Sub

Du vil formodenligt være nødsaget til at kode nogle tests på at det indtastede faktisk er et tal etc..
Avatar billede gammer Nybegynder
29. marts 2008 - 11:04 #4
Hejsa.

Det er ikke det jeg søger. Efter lidt surfing på nettet, har jeg fundet ud af følgende Excel program kan det jeg eftersøger:

http://www.bigredconsulting.com/aboutemailmanager.htm

På billede 3 på ovennævnte side, kan i se hvad jeg mener. Her er der i en userform mulighed for at skrive en tekst + en reference til et kolonnenr., det er et "flettefelt"

Jeg kan dog ikke bruge XL email manager, da det skal virke sammen med det jeg selv har "komponeret".

Håber det hjælper med at forklare mit spørgsmål.
29. marts 2008 - 13:31 #5
og hvad vil du så.. lave din egen dialogboks med et multiline tekst felt på, og så gøre noget efter det...

Tilføj en Userform til dit projekt
Tilføj en Textbox og træk den stor og sæt MultiLine til True
Tilføj en OK knap samt noget kodelogik, som kan udskrifte dine [xxx] til indhold fra dine celler.

Hvad er det helt præcist du vil have hjælp til/ikke selv kan?
Avatar billede gammer Nybegynder
29. marts 2008 - 14:48 #6
Jeg skal prøve at beskrive min udfordring lidt bedre.

Idag sender jeg mails ud via mit regneark. Det sker ved hjælp af vba. Jeg har et ark, der i kolonne A har kundeNr og kolonne B kundeNavn.

Jeg har en løkke, der gennemløber arket med kundenr. og kundenavn og opretter en e-mail til hver kunde.

Linien, der skriver teksten i "body" på e-mailen lyder f.eks. sådan:

textLine = "Kære " & kundeNavn & " Dit kundenr. er: " & kundeNr

I et par tilfælde har jeg været inde og ændre på teksten i variablen textLine, da jeg skulle bruge en anden tekst end den der var. Det har jeg gjort i VBA editoren.

Nu er der også andre der gerne vil bruge arket, men som ikke har lyst til at starte VBA editoren og redigere i den tekst der udsendes til kunderne. For dem ville det være nemmere, hvis de kunne redigere variablen textLine i en userform. Men stadig med mulighed for kunne lave en reference til variabler med kundeNavn, kundeNr osv.

Håber dette hjalp. Jeg tror ikke jeg kan beskrive det bedre!
Avatar billede gammer Nybegynder
29. marts 2008 - 15:11 #7
smartoffice_dk:
Jeg tror du med din kommentar om at udskifte mine [xxx] med indhold fra mine celler via noget kodelogik er inde på noget af det rigtige.

Jeg har blot haft en anden indgangsvinkel til problemet.
29. marts 2008 - 17:33 #8
Her er en lille løkke som intet gør udover at sammensætte en BodyText

Kan du bruge det til inspiration i din egen sammenhæng??

Sub Demo()
    Dim lRow As Long
    Dim sBodyText As String
   
    For lRow = 2 To 5
        sBodyText = "Kære " & Cells(lRow, 1).Value & vbCrLf & vbCrLf & _
                "Dit kundenr. er " & Cells(lRow, 2).Value
    Next lRow
End Sub

(vbCrLf = Linieskift)
Avatar billede gammer Nybegynder
29. marts 2008 - 18:13 #9
smartoffice_dk
Jeg tror du har guidet mig i den rigtige retning med din kommentar og dit eksempel. Jeg skal lige have det udtænkt i forhold til mit ark, og så have det flettet ind i min kode. 

I første omgang er det også vejledning og et skub i den rigtige retning jeg har søgt, så læg et svar.

Og tak for hjælpen!
29. marts 2008 - 20:15 #10
God fletning - og smid din løkke her, hvis du skal have hjælp.
Avatar billede gammer Nybegynder
29. marts 2008 - 20:28 #11
Når jeg frem til noget brugbart eller løber ind i problemer så kommer der noget på eksperten!
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