Avatar billede rotroc Nybegynder
17. september 2006 - 11:57 Der er 5 kommentarer og
1 løsning

VBA- Indsæt tekst i formular

Hej Experter.
Er VBA nystarter. Hvem kan hjælpe mig med denne her?

Sheet1 er en std tilbudsformular for produkter. Ved klik på Cmd1 og/eller Cmd2 i Userform1 skal teksten salgsbetingelse1 og/eller salgsbetingelse2 aut indsættes i formularen. (Salgsbetingelsen skal forsvinde fra formularen hvis bruger fortryder valget og klikker på knappen een gang til) Salgsbetingelse er en længere tekst som jeg regner med at oprette i et tilfældigt placeret tekstfelt på Sheet2. Sheet2 vil jeg Hide for brugeren.

Antallet af tilbud på formularen varierer men det vil være bedst hvis salgsbetingelserne altid indsættes efter sidste tilbud i rækken – samme cellereference kan derfor formodentlig ikke bruges til at indsætte salgsbetingelser i for to forskellige tilbud, hver med varierende længde.

Kan man med VBA definerer den variable placeringen af området efter sidste tilbud i rækken eller er det bedst manuelt at selecte celle hvori teksten herefter indsættes ved click på Cmd?
Er tekstfeltet en brugbar metode ved indsætning af tekst eller findes bedre metode?
Hvilke koder skal bruges?
Avatar billede rosco Novice
17. september 2006 - 14:47 #1
Kan du evt bruge dette til noget.

Private Sub bntOK_Click()

Worksheets("Kasse").Unprotect ("2241")
' fjerner arkbeskyttelse hvor koden er 2241
' Henter navn fra formularen NyBarvagt feltet txtbarvagt
' Indsætter barvagtens navn i arket Kasse.
' I celle D11, hvis Celle D11 er udfyldt, så i D12 osv.
' Når D13 er udfyldt er der ikke plads til flere navne.

Dim C As Variant
If Range("D11") = "" Then

Worksheets("Kasse").Activate
C = 4
Do Until Worksheets("Kasse").Cells(C, 4) = ""
C = C + 1
  Loop
Cells(C, 4) = NyBarvagt.txtBarvagt.Value
Else
MsgBox "Ikke plads til flere navne, resten må bruge sidste navn på listen"
End If

txtBarvagt.Value = ""

Worksheets("Kasse").Protect ("2241")
' Beskytter arket med koden 2241
' Skjuler formularen
NyBarvagt.Hide

End Sub
Avatar billede rosco Novice
17. september 2006 - 14:52 #2
Denne er vist bedre, den finder første tomme celle i kolonne B, og indsætter teksten der.

Private Sub bntOK_Click()
Worksheets("Kasse").Unprotect ("2241")


If txtVarenr.Text = "" Then
MsgBox "Skriv venligst Varenummer."
txtVarenr.SetFocus
Else
    B = 3
Do Until Worksheets("Kasse").Cells(B, 3) = ""
    B = B + 1
  Loop
Cells(B, 3) = Varesalg!txtVarenr.Value


Application.ScreenUpdating = False


End If
' nulstiller værdier i userform
txtVarenr.Value = ""


txtVarenr.SetFocus
Worksheets("Kasse").Protect ("2241")

End Sub
Avatar billede kabbak Professor
17. september 2006 - 15:04 #3
Her er en der oprettes, hver gang

  On Error GoTo Fejl
    Sheets(1).Shapes("Tekst1").Delete    ' sletter Tekstboksen, hvis den er der
    Exit Sub
Fejl:        ' hvis den ikke er der oprettes den, lige under sidste udfyldte celle i B kolonnen
    Sheets(1).Shapes.AddTextbox(msoTextOrientationHorizontal, Range("B65536").End(xlUp).Offset(1, 0).Left, _
                                Range("B65536").End(xlUp).Offset(1, 0).Top, 200#, 40#).Select
    Selection.Name = "Tekst1"
    Selection.Characters.Text = "salgsbetingelse1 " ' Her skal du skrive din salgsbetingelser
Avatar billede kabbak Professor
17. september 2006 - 15:07 #4
en lille rettelse

  On Error GoTo Fejl
    Sheets(1).Shapes("Tekst1").Delete    ' sletter Tekstboksen, hvis den er der
    Exit Sub
Fejl:        ' hvis den ikke er der oprettes den, lige under sidste udfyldte celle i B kolonnen
    Sheets(1).Shapes.AddTextbox(msoTextOrientationHorizontal, Sheets(1).Range("B65536").End(xlUp).Offset(1, 0).Left, _
                                Sheets(1).Range("B65536").End(xlUp).Offset(1, 0).Top, 200#, 40#).Select
    Selection.Name = "Tekst1"
    Selection.Characters.Text = "salgsbetingelse1 " ' Her skal du skrive din salgsbetingelser
Avatar billede rotroc Nybegynder
20. september 2006 - 09:06 #5
Ok kabak - tak for forslaget, det ser ud til at kunne bruges. Jeg forsøger at tilrette så det virker helt efter hensigten.
Avatar billede kabbak Professor
20. september 2006 - 19:43 #6
et svar ;-))
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