Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[VBA] mehrere Textfelder mit gleichem Namen??

Empfohlene Antworten

Veröffentlicht

Hallo,

ich habe 12 Textfelder (entsprechend den Monaten). Ich möchte

die Textfelder nun mit einer Schleife ansprechen. Da es in VBA keine

Indizes (wie in VB) zur Nummerierung der Steuerelemente gibt habe

ich jetzt ein Problem.

folgenden code habe ich schon:


dim ctrl_obj as object

dim i_count as integer


for i_count = 1 to 12 

   ctrl_obj = "txt_" & i_count

   ctrl_obj.value = "0"

next i_count

Das mag er aber nicht. Keine Ahnung warum. Er bringt auch keine Fehler

meldung.

Kann mir jemand weiterhelfen??

Thx and Greetz

Druid :cool:

Hallo,

in VBA gibt es die Möglichkeit, auf die Steuerelemente in eines Formulars mittels der Controls-Auflistung zuzugreifen.

Beispiel:


Dim ctrl_obj As Object

For Each ctrl_obj In UserForm1.Controls

    If Left(ctrl_obj.Name, 4) = "txt_" Then

        Debug.Print "gefunden: " & ctrl_obj.Name

        ctrl_obj.value = "0"

    End If

Next ctrl_obj

Der Code, den du verwendest, ist so nicht korrekt.

dim ctrl_obj as object

dim i_count as integer

for i_count = 1 to 12 

   ctrl_obj = "txt_" & i_count

   ctrl_obj.value = "0"

next i_count

In der Schleife wir der Variable "ctrl_obj" ein Wert als String zugewiesen. Um den Wert des Textfeldes in einem Formular zu ändern muss ctrl_obj auch das Textfeld-Objekt sein :-)

Gruß

xmurrix

Ich habe meinen Code jetzt geändert:

Bekomme aber folgende Fehlermeldung:


Sie haben als Einstellung der Ereigniseigenschaft den Ausdruck beim Klicken 

eingegeben. Dieser Ausdruck hat einen Fehler verursacht: Es trat ein Problem auf 

während ICORS mit dem OLE-Server oder ActiveX-Steuerelement kommunizierte. 


*Der Ausdruck gibt möglicherweise weder den Namen eines Makros noch den Namen einer 

benutzerdefinierten Funktion, noch [Ereignisprozedur] zurück

*Beim Auswerten einer Funktion, eines Ereignisses oder eines Makros trat möglicherweise 

ein Fehler auf. 

Weiß aber nicht ob das direkt mit dem Steuerelement zusammenhängt, da

er nicht mal in die Prozedur des Steuerelementes rein geht.

Hallo,

es scheint, dass es sich hierbei um ein Access-Formular handelt. Soweit ich weis, kann man nur in Access Ereigniseigenschaften von Steuerelementen Makros, Funktionen, usw. zuweisen.

Schau Dir mal an, was genau als Ereigniseigenschaft für das Steuerelement zugewiesen wurde. Mit Access kenne ich micht nicht sehr gut aus, aber aus der Fehlermeldung kann ich nur ableiten, dass z. B. in der Ereigniseigenschaft "Beim Klicken" eine Funktion ausgewählt ist, die aber im Projekt oder Formular nicht vorkommt.

Gruß

xmurrix

Ja es handelt sich um ein Access Formular. Ich habe die Funktionen,

Module und Makros schon durch, aber da passt alles.

Ich habe das betreffende Formular in eine leere DB und wieder zuürck

exportiert und siehe: es ging.

Naja, die Wege des Gates sind unergründlich ;)

Dein Code funktioniert einwandfrei. Danke nochmal...

Druid :cool:

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.