23. august 2006 - 20:36Der 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?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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
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
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.
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
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?
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'
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.
Synes godt om
Ny brugerNybegynder
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.