Avatar billede annebirgitte Nybegynder
23. august 2006 - 20:36 Der er 9 kommentarer og
1 løsning

fra textbox til celle

1.Jeg har en userform, hvor jeg kan indtaste et beløb i et textfelt. Når jeg klikker OK, skal dette beløb havne i celle B13. Dernæst skal det trækkes fra det beløb, som allerede står i C12. Og resultatet skal så stå i C13.

Dette ku jeg måske godt finde ud af selv, men hvad så næste gang jeg indtaster et tal? Så skal det jo havne i B14 og trækkes fra det, der står i C13 - og resultatet i C14. Osv osv...

Hvordan gør man det? Er det noget med en løkke?

2. Textfeltet i userformen med beløbet - kan det ikke formateres sådan, at man ikke kan indtaste bogstaver i det, kun tal?

3. Og så lige noget helt andet nu jeg er i gang:
Kan man føje en lydfil til en msgbox eller userform?

Håber nogen vil hjælpe...
Mvh
AnneBirgitte
Avatar billede mvhansen Nybegynder
23. august 2006 - 20:56 #1
Hej
Sheets("Ark1").Range("A13").Value = UserForm1.TextBox1.Text

mvh

mvhansen
Avatar billede mvhansen Nybegynder
23. august 2006 - 21:10 #2
Private Sub CommandButton1_Click()
Dim Tal1 As Single
Dim Tal2 As Single
Sheets("Ark1").Range("c13").Value = UserForm1.TextBox1.Text

Tal1 = Sheets("Ark1").Range("c12").Value
Tal2 = Sheets("Ark1").Range("c13").Value
Sheets("Ark1").Range("c14").Value = Tal1 - Tal2

End Sub
Avatar billede kabbak Professor
23. august 2006 - 21:12 #3
her er koden der kun godkender tal og punktum

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 110 Then ' komma laves om til punktum
KeyCode = 190
Else
If KeyCode < 96 Or KeyCode > 105 Then KeyCode = 0 ' kun tal
End If
End Sub
Avatar billede kabbak Professor
23. august 2006 - 21:30 #4
Hvis B kolonnen er tom op til række B12, så skulle denne kode virke.


Private Sub CommandButton1_Click()
    Dim RW As Long
    RW = Sheets("Ark1").Range("B65536").End(xlUp).Offset(1, 0).Row
    Sheets("Ark1").Range("B" & RW).Value = UserForm1.TextBox1.Text
    Sheets("Ark1").Range("C" & RW).Value = Sheets("Ark1").Range("C" & RW - 1).Value - Sheets("Ark1").Range("B" & RW).Value
End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 110 Then    ' komma laves om til punktum
        KeyCode = 190
    Else
        If KeyCode < 96 Or KeyCode > 105 Then KeyCode = 0    ' kun tal
    End If
End Sub
Avatar billede annebirgitte Nybegynder
24. august 2006 - 11:37 #5
Tak for de hurtige svar. Jeg fumlede meget med det i aftes. Kabbaks kode er god til det med at springe et trin ned, men jeg kan stadig ikke få den til at starte med at indsætte i en bestemt celle første gang.
Har lavet mit regneark lidt om nu, så den skal sætte ind i B4.
Avatar billede kabbak Professor
24. august 2006 - 21:37 #6
Private Sub CommandButton1_Click()
    Dim RW As Long
    RW = Sheets("Ark1").Range("B65536").End(xlUp).Offset(1, 0).Row
    If RW < 4 Then RW = 4 ' hvis den tæller højere op end række 4, vælger den 4
    Sheets("Ark1").Range("B" & RW).Value = UserForm1.TextBox1.Text
    Sheets("Ark1").Range("C" & RW).Value = Sheets("Ark1").Range("C" & RW - 1).Value - Sheets("Ark1").Range("B" & RW).Value
End Sub
Avatar billede annebirgitte Nybegynder
25. august 2006 - 11:33 #7
Tusind tak kabbak. Jubi! det virker.
Og det er sørme også lige før, jeg forstår, hvad der foregår :-)

Vil du ikke være så sød at forklare mig, hvad End(xlUp) betyder?
Og tallet 65536 - er det så mange rækker, der er i et regneark?
Og en sidste ting - står RW for row?

Læg et svar...
Avatar billede kabbak Professor
25. august 2006 - 15:51 #8
Vil du ikke være så sød at forklare mig, hvad End(xlUp) betyder?

'RW = Sheets("Ark1").Range("B65536").End(xlUp).Offset(1, 0).Row'
Her siger jeg, gå til nederste celle i arket
'Sheets("Ark1").Range("B65536")'
gå så opad indtil du møder en celle med noget i
'.End(xlUp).'
Hop så ned på cellen nedenunder.
'.Offset(1, 0)'
fortæl så hvilken række du står i
'.Row'


rækkens nummer puttes så i variablen RW
'RW ='
Avatar billede kabbak Professor
25. august 2006 - 15:51 #9
;-))
Avatar billede annebirgitte Nybegynder
26. august 2006 - 00:39 #10
Tusind tak igen. Det er ikke alle herinde, der gider de pædagogiske forklaringer også :-)
Er meget glad for det. Når jeg også forstår det i stedet for bare at kopiere, så kan jeg jo bedre bruge det i en anden kombination en anden gang.
Svært stof når man er ny i det! Men meget spændende.
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