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.

[VBA] Name einer Checkbox auslesen
#21
Hallo Jules,

habe mal ein Kombinationsfeld in deine Datei eingearbeitet, damit kommst du mit einem Makro aus. Den Datenübertrag per Formeln würde ich so nicht machen. Das geht mit einem Makro, dass die Daten direkt einträgt sicher schneller.
Habe gerade erst bemerkt, dass du in einigen Spalten die Formeln bis an das Ende des Tabellenblattes gezogen hast. Das habe ich mal gelöscht, alleine damit wurde die Datei rund 29 MB kleiner! Da brauchst du dich über Rechenzeiten nicht wundern.


Angehängte Dateien
.xlsb   BeispielMappe (version 3).xlsb (Größe: 1,71 MB / Downloads: 9)
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
[-] Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:
  • jules
Antworten Top
#22
.. und wie steuer ich diese nun in meinem Makro an??
Antworten Top
#23
Hallo Jules,

habe ein Makro (deines angepasst) für das Kombinationsfeld eingebaut. Testen konnte ich das nicht, weil ich deine andere Datei nicht habe.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#24
Hi Klaus-Dieter,

das finde ich klasse! Sieht sehr gut aus und könnte mir gefallen.

Frage zu meinem Code, den du drin gelassen hast:

Code:
    Else

Dim Such
    Do
      Set Such = Worksheets("Übersicht").UsedRange.Find(ComboBox1.Text)
      If Not Such Is Nothing Then Such.EntireColumn.Delete
    Loop Until Such Is Nothing
        End If


Der funktioniert aber nicht mehr? Wie kann ich sagen, dass er eine der Spalten wieder löschen kann, wenn ich sie nicht mehr brauche?
Bei der CheckBox war es natürlich einfach mit "on" (eintragen) bzw. "off" (löschen).

LG und Danke
Antworten Top
#25
Hallo,

ohne Klaus-Dieters Vorschlag zu kennen.

Im Code des Sheets sind 12 kurze und ähnliche Makros nötig, die Parameter an EIN Makro im Allgemeinen Modul übergeben:

Code:
######## Makro Aufruf (12x) ######

Private Sub Januar_Click()
Debug.Print Januar.Value
Debug.Print Me.Shapes(Me.Index).Name
Call Jule(Me.Index, Januar.Value)
End Sub

##### allgemeines Modul ###

Sub Jule(str As String, V As String)
    
    MsgBox str & ", " & VBA.MonthName(Val(str)) & "," & V
    
End Sub


mfg
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • jules
Antworten Top
#26
Hallo Jules,

Zitat:Frage zu meinem Code, den du drin gelassen hast:
Der funktioniert aber nicht mehr?

das konnte ich ja nicht testen. In deinem Quelltext habe ich lediglich die feste Vorgabe "Januar" durch den variablen Begriff KomboBox1.Text ersetzt. Damit hast du das, was deine Wunsch war, der Name des Monats wird vom Quelltext verwendet. Mehr kann ich nicht machen, wenn ich nicht alle Rahmenbedingungen kenne.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#27
Jein Wink

in der Else Bedingung fragt er nur in Zeile 2 der Übersicht ab, ob dort der betroffene Monat drin steht. Wenn dem so ist, löscht er die Zeile. Quasi ein "Undo"...
(er wurde ja vorher durch anklicken der Box in Zeile 2 geschrieben)

Rahmenbedingungen hast du soweit ja. Die Daten die er in die Übersicht einliest sind irrelevant.

Mir geht es halt genau darum, ob ich irgendwie mit Hilfe Deiner ComboBox Monate auch wieder löschen kann.
Ich fürchte um es "einfach" zu halten, erstelle ich eine gleiche ComboBox2 daneben und sage ihm dann, er soll nach dem Monat in Zeile 2 suchen .. und die dazugehörige Spalte löschen ...

oder?

Ich war im Übrigen so frei und lasse die ComboBox wie folgt mit Monaten füllen:
Code:
With Application
    ComboBox1.List = .GetCustomListContents(8)

oder hat das irgendwelche "Nachteile" ?

Was ich beim besten Willen nicht verstehe ist, warum meine Datei auf einmal so riesig wird. Teilweise 65 MB !!
Das hatte ich vorher nicht.

Kannst du hier vielleicht helfen?

Fragen über Fragen ...  Angel

Danke!
Antworten Top
#28
Hallo Jules,

Zitat:Was ich beim besten Willen nicht verstehe ist, warum meine Datei auf einmal so riesig wird. Teilweise 65 MB !!

in den Spalten N bis R werden Formeln bis in die letzte Zeile eingetragen. Das sind also alleine reichlich 5 Millionen Formeln, das bremst dann schon und bläht auch eine Datei auf. Ich habe noch nicht geforscht, wodurch das ausgelöst wird. Dazu kommen ja dann auch noch die rund 200000 Formeln im anderen Bereich der Liste auf dem Tabellenblatt Übersicht.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#29
Puhhh.

Wie können wir das stoppen / verhindern  :20:

Das ist ja grauenvoll

Kannst Du helfen? Angel
Antworten Top
#30
Hallöchen,

ich denke, es liegt an dieser zeile:

lngLastRow = .Cells(Rows.Count, letztespalte + 1).End(xlDown).Row

Unten müsste man hoch gehen (xlUp) und nicht runter (xlDown) Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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