26. april 2010 - 13:10Der er
4 kommentarer og 1 løsning
VBA, loop til kontrol af indput.
Er ved at lave en Userform til indtastning af måneds data, og vil i den forbindelse "centralisere" kontrol funktioner med mere, men kan ikke finde den rigtige syntax til at vælge de relevante elementer:
Setup er som følger: 1: Alle indput felter er textbox 2: De har alle navnet Month[1..12]Type[1..4] 3: Userformen har name=Mrevision
Følgende er mit forsøg som fejler (Ved for each..): Sub ErTal() Dim Ctl As Object Dim Mrev As Mrevision For Each Ctl In Mrevision If Not InStr(Ctl.Name, "Month") = 0 Then If Not Ctl = vbNullString Then If Not IsNumeric(Ctl) Then MsgBox "Desværre, kun tal!" Ctl = vbNullStrin End If End If End If Next End Sub
Dette fungere fint, men vil gerne have en fælles rutine der kontrolerer alle textbokse. Private Sub ErTal2() If TextBox1 = vbNullString Then Exit Sub If Not IsNumeric(TextBox1) Then MsgBox "Sorry, numbers only" TextBox1 = vbNullString End If End Sub
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.
Kontrollen kan fint køres ved ændring i de enkelte celler, men det er reelt ikke nødvendigt og keden bliver noget nemmere at overskue såfremt det ikke er ved "Month1Type4_change()" at kontrolle foretages.
Men problemmet er reelt det samme om det er som "_change" eller en anden faktor der starte proceduren. Nemlig hvorledes referer jeg til / looper igennem de enkelte celler.
Sub ErTal() Dim Ctl As Object ' Dim Mrev As Mrevision For Each Ctl In Mrevision.Controls If Not InStr(Ctl.Name, "Month") = 0 Then If Not Ctl = vbNullString Then If Not IsNumeric(Ctl) Then MsgBox "Desværre, kun tal!" Ctl = vbNullStrin End If End If End If Next End Sub
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.