Umstellung auf Excel 2016 und VBA
#1
Moin Zusammen,

ich habe folgendes Problem bei meinem Arbeitgeber zu lösen.

Wir hatten eine Umstellung von Windows 7 auf Windows 10 (bin halt bei der Stadt tätig, da geht alles etwas langsamer Dodgy ).

Dabei wurde auch Excel auf 2016 umgestellt. Welche Vorgängerversion wir hatten, weiß ich leider jetzt nicht mehr.

Wir benutzen eine Datenerfassung, in der ich ein UserForm verwende. Dieses funktioniert jetzt nicht mehr. Es gibt anscheind einen "Compilerfehler". Hab dann auch einen Hinweis im Code bekommen.

Der Code ist sehr groß hier nur ein Ausschnitt, was als Feher deklariert wird:

'Startroutine, wird ausgeführt bevor die Eingabemaske angezeigt wird

Code:
Private Sub UserForm_Initialize()

  Dim lZeile As Long 

    'Alle TextBoxen leer machen

    TextBox1 = ""
    TextBox2 = ""
    ComboBox1 = ""
    ComboBox2 = ""
    ComboBox3 = ""
    ComboBox4 = ""
    ComboBox5 = ""
    ComboBox6 = ""
    ComboBox7 = ""
    TextBox4 = ""
    TextBox5 = ""
    TextBox6 = ""
    TextBox7 = ""
    TextBox8 = ""
    TextBox9 = ""
    ComboBox8 = ""
    ComboBox9 = ""
    ComboBox10 = ""
    TextBox10 = ""
    TextBox11 = ""
    ComboBox11 = ""
    ComboBox12 = ""
    TextBox12 = ""
    ComboBox13 = ""
    TextBox13 = ""
    ComboBox14 = ""
    TextBox14 = ""
    TextBox15 = ""
    TextBox16 = ""
    ComboBox15 = ""
    ComboBox16 = ""
    ComboBox17 = ""
    ComboBox18 = ""
    ComboBox19 = ""
    ComboBox20 = ""
    ComboBox21 = ""
    ComboBox22 = ""
    ComboBox23 = ""
    ComboBox24 = ""
    ComboBox25 = ""
    ComboBox26 = ""
    ComboBox27 = ""
    ComboBox28 = ""
    ComboBox29 = ""
    ComboBox30 = ""
    ComboBox31 = ""
    ComboBox32 = ""
    ComboBox33 = ""
    ComboBox34 = ""
    ComboBox35 = ""
    ComboBox36 = ""
    ComboBox37 = ""
    ComboBox38 = ""
    ComboBox39 = ""
    ComboBox40 = ""
    ComboBox41 = ""
    ComboBox42 = ""
    ComboBox43 = ""
    ComboBox44 = ""
    ComboBox45 = ""
    ComboBox46 = ""
    ComboBox47 = ""
    ComboBox48 = ""
    ComboBox49 = ""
    ComboBox50 = ""
    ComboBox51 = ""

    'In dieser Routine laden wir alle vorhandenen
    'Einträge in die ListBox1

    ListBox1.Clear 'Zuerst einmal die Liste leeren
   
 Zeile = 2 'Start in Zeile 2, Zeile 1 sind ja die Überschrifte     
    'Schleife solange etwas in der ersten Spalte in Tabelle 1 drin steht
    Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) <> ""
        'Aktuelle Zeile in die ListBox eintragen
        ListBox1.AddItem Trim(CStr(Tabelle1.Cells(lZeile, 1).Value))
             Zeile = Zeile + 1 'Nächste Zeile bearbeiten
  Loop
End Sub
Hier nochmal ein Bild zu dem Problem als Anzeige:


   


Es scheind um diesen Befehl "Trim" zu gehen.

Aber ich hab nur wenig Ahnung von VBA´s. Meistens klau ich mir die zusammen und mache meine individuellen Änderungen.

Ich wäre über eine Lösung sehr dankbar.

Mit freundlichen grüßen

Bene
Antworten Top
#2
Moin Zusammen,



ich habe folgendes Problem bei meinem Arbeitgeber zu lösen.



Wir hatten eine Umstellung von Windows 7 auf Windows 10 (bin halt bei der Stadt tätig, da geht alles etwas langsamer Dodgy ).



Dabei wurde auch Excel auf 2016 umgestellt. Welche Vorgängerversion wir hatten, weiß ich leider jetzt nicht mehr.



Wir benutzen eine Datenerfassung, in der ich ein UserForm verwende. Dieses funktioniert jetzt nicht mehr. Es gibt anscheind einen "Compilerfehler". Hab dann auch einen Hinweis im Code bekommen.



   



Der Code ist sehr groß hier nur ein Ausschnitt, was als Feher deklariert wird:



'Startroutine, wird ausgeführt bevor die Eingabemaske angezeigt wird

Private Sub UserForm_Initialize()

  Dim lZeile As Long

 

    'Alle TextBoxen leer machen

    TextBox1 = ""

    TextBox2 = ""

    ComboBox1 = ""

    ComboBox2 = ""

    ComboBox3 = ""

    ComboBox4 = ""

    ComboBox5 = ""

    ComboBox6 = ""

    ComboBox7 = ""

    TextBox4 = ""

    TextBox5 = ""

    TextBox6 = ""

    TextBox7 = ""

    TextBox8 = ""

    TextBox9 = ""

    ComboBox8 = ""

    ComboBox9 = ""

    ComboBox10 = ""

    TextBox10 = ""

    TextBox11 = ""

    ComboBox11 = ""

    ComboBox12 = ""

    TextBox12 = ""

    ComboBox13 = ""

    TextBox13 = ""

    ComboBox14 = ""

    TextBox14 = ""

    TextBox15 = ""

    TextBox16 = ""

    ComboBox15 = ""

    ComboBox16 = ""

    ComboBox17 = ""

    ComboBox18 = ""

    ComboBox19 = ""

    ComboBox20 = ""

    ComboBox21 = ""

    ComboBox22 = ""

    ComboBox23 = ""

    ComboBox24 = ""

    ComboBox25 = ""

    ComboBox26 = ""

    ComboBox27 = ""

    ComboBox28 = ""

    ComboBox29 = ""

    ComboBox30 = ""

    ComboBox31 = ""

    ComboBox32 = ""

    ComboBox33 = ""

    ComboBox34 = ""

    ComboBox35 = ""

    ComboBox36 = ""

    ComboBox37 = ""

    ComboBox38 = ""

    ComboBox39 = ""

    ComboBox40 = ""

    ComboBox41 = ""

    ComboBox42 = ""

    ComboBox43 = ""

    ComboBox44 = ""

    ComboBox45 = ""

    ComboBox46 = ""

    ComboBox47 = ""

    ComboBox48 = ""

    ComboBox49 = ""

    ComboBox50 = ""

    ComboBox51 = ""

 

    'In dieser Routine laden wir alle vorhandenen

    'Einträge in die ListBox1

    ListBox1.Clear 'Zuerst einmal die Liste leeren

   
 Zeile = 2 'Start in Zeile 2, Zeile 1 sind ja die Überschrifte     
    'Schleife solange etwas in der ersten Spalte in Tabelle 1 drin steht

    Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) <> ""

       

        'Aktuelle Zeile in die ListBox eintragen

        ListBox1.AddItem Trim(CStr(Tabelle1.Cells(lZeile, 1).Value))

       

        Zeile = Zeile + 1 'Nächste Zeile bearbeiten

       



       

    Loop

   

   

End Sub

Hier nochmal ein Bild zu dem Problem als Anzeige:



   


Es scheind um diesen Befehl "Trim" zu gehen.

Aber ich hab nur wenig Ahnung von VBA´s. Meistens klau ich mir die zusammen und mache meine individuellen Änderungen.

Ich wäre über eine Lösung sehr dankbar.

Mit freundlichen grüßen

Bene
Antworten Top
#3
Habt ihr Langeweile bei der Stadt?
Kann ein Moderator bit6te mal hier ausmisten?
Ich habe mal den Dreifachpost gemeldet.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#4
Okay, dass tut mir jetzt sehr leid, aber es hilft mir noch nicht weiter. Wo kann ich denn einen Beitrag finden dazu? Ich weiß ja nichtmal wonach ich suchen soll?
Antworten Top
#5
Ich habe Dir in einem der 3 Threads eine sachbezogene Antwort gegeben.
https://www.clever-excel-forum.de/Thread...n=lastpost

Wir sollten dort weiter machen, bevor die anderen beiden gelöscht werden.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#6
Alles klar. Also dann kannst Du so jetzt keine Lösung erkennen?
Ich hab da leider keine weiteren Daten zu.

Es hat vorher Super funktioniert und jetzt mit der Umstellung auf Excel 2016 geht das UserForm nicht mehr.
Antworten Top
#7
Ich habe mich da nochmal ein wenig weiter beschäftigt und es scheint daran zu lieben, dass irgendwas in der Arbeitsmappe geschrottet wurde. Jetzt habe ich vor jedem Trim "VBA." geschrieben. Also VBA.Trim und es funktioniert wieder. Also vielen dank.

Hoffe ich kann anderen damit noch etwas helfen.

Gruß

Benedikt
Antworten Top
#8
Hallo Bene,

schreib mal VBA davor, also dann
Code:
VBA.Trim

Gruß Uwe

PS:

Da das Initialize-Ereignis nur beim erstmaligen Öffnen des UserForm greift, ist das Leeren der Objekte überflüssig.
Antworten Top
#9
Hi,

(20.10.2021, 13:04)RPP63 schrieb: Ich habe Dir in einem der 3 Threads eine sachbezogene Antwort gegeben.
und ich in einem anderen,
(20.10.2021, 13:04)RPP63 schrieb: ... bevor die anderen beiden gelöscht werden.
weshalb ich das nicht machen werde. (Kam aber auch keine diesbezügliche Meldung.)

Gruß Uwe
Antworten Top
#10
(20.10.2021, 15:28)Kuwer schrieb: weshalb ich das nicht machen werde.
Dann sperre zwei Threads mit Verweis auf den dritten.
Oder führe die Threads zusammen.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste