Just nu i M3-nätverket
Gå till innehåll

Fylla textboxar med nollor i formulär


RichardN

Rekommendera Poster

Hej!

 

Jag har ett formulär med ett antal textboxar, bland annat. Det jag behöver göra är att kolla om vissa av boxarna inte är ifyllda (heltal). När en tom box hittas ska den fyllas med en nolla. Detta görs, enligt min bedömning, lämpligast med en knapp i samband med att man fyller i just den avdelningen av formuläret.

Jag kom ju ganska snart, med stor hjälp av nätforum (är ganska novis på det här...) på hur man går till väga när det gäller själva ifyllandet av nollorna, men det går desto sämre med att välja ut de boxar som är tomma. I nuläget skrivs alla boxar över med nollor. :( Boxarna ifråga är döpta med inledande text som är lika för alla boxar som ska kollas och fyllas.

 

Koden så här långt:

Private Sub cmdFillA3Zero_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
   If Left(Ctl.Name, 5) = "txtA3" Then
   Ctl.Text = 0

   End If
Next Ctl
End Sub

 

All hjälp emottages tacksamt!

 

Hälsningar!

/Richard

Länk till kommentar
Dela på andra webbplatser

Bara att stega igenom den samling (Collection) där textboxarna finns.

Dim i As Integer
For i = 1 To 2
Me.Controls("TextBox" & i).Text = "0"
Next i

 

Så kan man göra med vilken samling det än är i VBA, om det så är celler, textboxar på ett blad, kalkylblad som exempel.

Länk till kommentar
Dela på andra webbplatser

Hej Monshi!

 

Stort tack för att du tar dig tid!!! Du är en klippa! Vill minnas att du har hjälpt mig en gång tidigare i detta forum också, för några år sedan.

 

Men, vad jag kan se så skriver denna kod över det som redan finns i boxarna, Fungerar alltså på samma sätt som min kod. Dock på ett annat, lite smartare sätt. Mitt problem är att jag inte kan komma på hur man ska få till att det bara fylls med nollor där det är tomma textboxar.

 

/Richard

Länk till kommentar
Dela på andra webbplatser

Aha, det var det du ville. Då ändrar vi lite

Dim i As Integer
For i = 1 To 2
       If Me.Controls("TextBox" & i).Text = "" then
             Me.Controls("TextBox" & i).Text = "0"
       End If
Next i

 

borde fungera.

Länk till kommentar
Dela på andra webbplatser

Hej igen!

 

Funkar utmärkt! Det visade sig att jag var väldigt nära i mina egna försök att få till detta.

Tackar och bockar ödmjukast! Tänk om alla forum fungerade på detta viset!

 

Hälsningar!

/Richard

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...