Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Combobox läßt sich nicht löschen
#1
Liebe Forumsteilnehmer,

bin nun den 2. Tag an einem Problem und kann es nicht lösen. Vielleicht könnt ihr weiter helfen.
Über VBA wird eine Excel Datei mit mehreren Datenblättern gepeichert. (von xlsm nach xlsx)
Nach dem Speichern erscheinen in der neu erzeugten xlsx Datei in einigen Datenblättern jeweils eine Combobox, die in der ursprünglichen Datei nicht vorhanden sind. zumindest nicht sichtbar.
Ein Beispiel für solch eine erzeugte Combobox in der Excel-Datei habe ich beigelegt. Diese Combobox läßt sich nicht mehr löschen?  Ist wohl eine Geister-Combobox :19:
Oder kennt jemand einen Trick, wie die sich löschen läßt?

Meine Frage ist nun, kennt jemand solch ein Verhalten?  Ich vermute, das ist ein böser Excel Bug.
Das blöde ist nur, dass ich die Ergebnis-Datei nicht nutzen kann, da diese auch gewünschte Auswahlfelder hat und diese blöde Combobox die gewollten Auswahlfelder überlagert.

Carsten


Angehängte Dateien
.xlsx   TEST-DROPDOWN.xlsx (Größe: 10,75 KB / Downloads: 11)
Antworten Top
#2
Hallo Carsten,

könntest Du die Makrodatei oder wenigstens den Code hier hochladen bzw. posten?
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#3
Hallo Carsten,


ich habe in der eingestellten Datei 8 Dropdowns aus den Formularsteuerelementen ausfindig machen können.

Das Löschen und ausfindigmachen ging nur über VBA.

Hier der Code zum Löschen:


Code:
Sub löschen()
 Dim sh As Shape
 For Each sh In ActiveSheet.Shapes
   sh.Delete
 Next
End Sub




Aber damit es nicht zu diesen Problemen kommt, solltest Du, so wie von Stefan angefordert, den Code mal zeigen.
Wie werden die Steuerelemente bei Dir ausgeblendet? Passiert das per Code?

Du müsstest vielleicht vor dem Speichern mit obigem Code alle Steuerelemente löschen und dann speichern.
Gruß Atilla
Antworten Top
#4
(15.04.2016, 15:00)Steffl schrieb: Hallo Carsten,

könntest Du die Makrodatei oder wenigstens den Code hier hochladen bzw. posten?

der Tip mit den shapes ist schon mal ein Weg, wo ich weiter suchen kann.

Anbei die Excel Datei (dropdown-Kopie.xlsm), die den Mist erzeugt.

Empfehlung für den Test:
Die Originaldatei in ein eigenes neues Verzeichnis kopieren.
Die zu erzeugenden Dateien werden dann in dem gleichen Verzeichnis angelegt, in dem auch die Source-Datei zu finden ist.
In diesen neuen Dateien findet man die DropDown Felder.

Habe jetzt auch schon die "shapes löschen Funktion" mit eingebaut aber leider ohne Erfolg, wahrscheinlich weil die Dropdown Felder erst beim
Anlegen erzeigt werden?

LG Carsten


Angehängte Dateien
.xlsm   dropdown - Kopie.xlsm (Größe: 119,41 KB / Downloads: 5)
Antworten Top
#5
Hallo,

ich finde in keinen der Datei Dropdownfelder.

Außerdem bist Du auf meine Fragen nicht eingegangen.
Gruß Atilla
Antworten Top
#6
(15.04.2016, 18:06)atilla schrieb: Hallo,

ich finde in keinen der Datei Dropdownfelder.

Außerdem bist Du auf meine Fragen nicht eingegangen.

Hallo,
hatte schon die xlsm Datei hochgeladen mit denen die Dateien erzeugt werden können (dropDown) im Feld F4

Habe jetzt noch eine Ergebnisdatei angefügt, so wie sie bei mir erzeugt wird
Dort gibt es gleichzeitig noch ein gewünschtes Auswahlmenü ab Blatt 3 ff.
Wenn man in das Feld F5 klickt, sieht man, dass im Feld F4 die ComboBox erscheint.

LG Carsten


Angehängte Dateien
.xlsx   DROPDOWN-Testname2-TestName1-15.04.2016.xlsx (Größe: 95,29 KB / Downloads: 3)
Antworten Top
#7
Hallo Carsten,

Du bist immer noch nicht auf meine Fragen eingegangen.

Wie werden die Comboboxen erzeugt und/oder ausgeblendet?
Fügst Du sie vor dem Speichern manuell ein oder per Code?
Wenn per Code, dann ist der nicht in der eingestellten xlsm Datei.
Gruß Atilla
Antworten Top
#8
(15.04.2016, 18:33)atilla schrieb: Hallo Carsten,

Du bist immer noch nicht auf meine Fragen eingegangen.

Wie werden die Comboboxen erzeugt und/oder ausgeblendet?
Fügst Du sie vor dem Speichern manuell ein oder per Code?
Wenn per Code, dann ist der nicht in der eingestellten xlsm Datei.

Sorry, dachte es ergibt sich aus der xlsm Datei.

In dem Code (Macros) erzeuge ich keine Comboboxen.
Auch nicht mit einem externen Macro.

Die Comboboxen entstehen erst, wenn die Dateien gespeichert werden.

der Code:
Sub KopierenDatei()

' #########################################################
'   jetzt wird kopiert
' #########################################################
'
    Application.ScreenUpdating = False                                    'Bildzappeln verhindern
    Application.DisplayAlerts = False                                         'Fehlermeldungen verhindern
'
    ActiveWorkbook.SaveAs varDateiname & ".xlsx"               'die aktuelle Datei als *.xlsx speichern
    ActiveWorkbook.Close                                                      'die aktuelle Datei schliessen
'
    Application.DisplayAlerts = True                                          'Fehlermeldungen wieder zulassen
    Application.ScreenUpdating = True                                     'Bildzappeln wieder zulassen
'
End Sub

Vor dem Speichern ist noch alles paletti! Das kann man gut mit dem Debugger nachvollziehen.

LG Carsten
Antworten Top
#9
Hallo Carsten,

ich glaube wir werden uns heute nicht mehr richtig verstehen.

Trotzdem hier mal ein Vorschlag zum Testen:

folgenden Code kopierst Du in das Modul mit dem speichern Makro:


Code:
Sub ShapesLoeschen()
 Dim shp As Shape
 Dim sh As Worksheet
 For Each sh In ActiveWorkbook.Sheets
   For Each shp In sh.Shapes
     If InStr(shp.Name, "Drop Down") Then shp.Delete
   Next
 Next
End Sub

Dieser Code löscht in allen Tabellenblättern der Datei Shapes deren Name den Bgriff "Drop Down" enthällt.

Dann im speichern Makro am Anfang das Lösch-Makro aufrufen:


Code:
Sub AnlegenVers2Datei()
' #########################################################
' #########################################################
'
' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
'  DIESES MACRO VERURSACHT DEN FEHLER
' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
'
' #########################################################
'   Speichern als Version2 der Excel-Tabelle
' #########################################################
'
   Antwort = MsgBox("Kriterien als Version2 speichern" _
          & vbNewLine & "Wirklich starten?", vbOKCancel)
'
    If Antwort <> 1 Then
    MsgBox "ABBRUCH - Daten wurden nicht gespeichert!", , ""
    Exit Sub
    End If
'
    Application.ScreenUpdating = False                      'Bildzappeln verhindern
'
    Call ShapesLoeschen

...................
Gruß Atilla
Antworten Top
#10
Hallöchen,

das Problem ist, wo eine Combobox her kommt, die keiner manuell oder per code erzeugt hat. Die Frage versteh ich, aber wie das in diesem Fall geschehen kann, versteh ich nicht  Huh

Darüber hinaus gibt es noch ein seltsames Verhalten. Nehme ich z.B. Blatt3 und kopiere es in eine neue Datei, ist die Combo weg. Schiebe ich die neue Datei mal beiseite und schaue auf das Original, ist die Combo noch dort. Schließe ich die neue Datei, ist die Combo in der alten Datei markiert, ohne das ich sie zuvor angefasst hatte.

Wie man auf dem Bild sieht, kann man die Eigenschaften auch nicht korrekt erfassen. Der Objekttyp ist übrigens auch DropDown, also ist es keine Combo.

   

Was noch auffällt ist, dass es eventuell nur? selektierte Zellen betrifft, die die Gültigkeitsprüfung haben. Werden die auch vorher selektiert? Was wäre, wenn vor dem Auslagern z.B. A1 selektiert wird?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • MICA
Antworten Top


Gehe zu:


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