Clever-Excel-Forum

Normale Version: wie weist man einem Activ X Steuerelement ein Makro zu
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo!

Schau doch mal den Beitrag Funktionsstörung Aktivx an!
Ist nur so eine Idee, wenn alle nicht mehr gehen!
Hallo Michel,

wenn ich den von Dir angesprochenen Thread noch halbwegs im Hinterkopf habe,
wird er den TE in diesem Falle nicht wirklich weiterführen.
Trotzdem kann er ihn ja lesen. Schaden kann das nicht :19:

Ich gehe mal davon aus, daß hier der Code an der falschen Stelle abgelegt wurde.
Das läßt sich recht schnell herausfinden. Allerdings muß man wissen, wo der Code
abgelegt wurde und welchen Button-Typ er steuern soll.

Wenn das geklärt ist, ist das Problem so gut wie gelöst.
(02.01.2015, 12:28)wavemaster schrieb: [ -> ]Hi Kuwer,

danke für den Link,
doch genau so habe Ich es gemacht. Wenn Ich den Button drücke passiert garnichts obwohl Ich das Makro zugewiesen habe.

Habe es mit dem Formularsteuerelement undf dem Active X Steuerelement versucht.

Gibt es eine Anleitung für "Dummies"

Hi,

der Link in Post #3 ist eine Anleitung für Dummies!!!
Morgen beisammen,

habe ein Makro gefunden das mein speichern unter erfüllt.

Code:
Sub xy()
   Const LW = "F:\"
   Const Pfad = "F:\003_Fa Knopf Unterlagen\Kalkulationsunterlagen\Kunden_Angebote"
   ChDrive LW
   ChDir Pfad
   ActiveWorkbook.SaveAs Date & Sheets("Massenermittlung").Range("B2") & ".xlsm"
End Sub


ein kleines Problem habe Ich aber dennoch.
er speichert das Arbeitsmappe wie folgt ab
03.01.2015meier (ist von Zelle B2)

wie muß das Makro geändert werden das nach 2015 ein Underscore erscheint und dann der Name.

die 2 Frage was muß noch ergänzt werden, wenn Ich für den selben Kunden 2 Angebote an einem Tag habe , im Moment will er das erste immer überschreiben.
Am liebesten wäre wieder Underscore und eine fortlaufende Zahl.


so zB.
03.01.2015_meier_001
03.01.2015_meier_002

usw. Idea :24:
Hallo,

unten den gesamten Code in ein allgemeines Modul kopieren:

Code:
Sub xy()
Dim strFilename As String
Const LW = "F:\"
Const Pfad = "F:\003_Fa Knopf Unterlagen\Kalkulationsunterlagen\Kunden_Angebote"
ChDrive LW
ChDir Pfad
strFilename = getName(Pfad & Format(Date, "YYYY-MM-DD_") & Sheets("Massenermittlung").Range("B2"), ".xlsm")
ActiveWorkbook.SaveAs strFilename, FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub

Private Function getName(ByVal strName As String, ByVal strExtension As String) As String
   Dim lngNummer As Long
  
   If Dir(strName & strExtension) = "" Then
      getName = strName & strExtension
   Else
      lngNummer = 1
      While Dir(strName & "_" & Format(lngNummer, "000") & strExtension) <> ""
         lngNummer = lngNummer + 1
      Wend
      getName = strName & "_" & Format(lngNummer, "000") & strExtension
   End If
End Function

Der Name wird in folgendem Format abgespeichert: 2015-01-03_Maier_001
Diese Art ist beim Speichern besser geeignet, da die Dateien im Ordner so chronologisch gelistet werden.
Hallöchen,

jetzt erst mal nur ganz kurz, weil ich Termine habe

Es ist genau das eingetreten, was ich oben schon erahnt habe
Zitat:Beide Buttons arbeiten anders und können nicht mit dem gleichen Code funktionieren.
Darum gehört der Code bei ActiveX-Elementen in das betreffende Arbeitsblatt, anderenfalls in ein Modul.

Der von Dir "endlich mal" gezeigte Code verrät, daß er nicht zur Steuerung von ActiveX-Elementen geeignet ist.
Hättest Du das Makro früher gezeigt, dann wäre das Ganze schon lange Geschichte.

Der Code gehört in ein Allgemeines Modul.
Dann erstellst Du einen Button aus Formularsteuerelemente und verknüpfst ihn mit dem Makro.
Dann sollte das Ganze auch laufen, sofern der Code keine Fehler enthält.
Ansonsten wird Dir sicher jemand weiterhelfen. Ich selber werde erst heute Abend zur Verfügung stehen.
Hallo Peter,

ein frohes neues Jahr und die besten Genesungswünsche.

Zitat:Der von Dir "endlich mal" gezeigte Code verrät, daß er nicht zur Steuerung von ActiveX-Elementen geeignet ist

Das ist nicht richtig so. Das Makro kann natürlich auch mit einem ActiveX Element gesteuert werden.
Es kann mit jedem anklickbaren Objekt gesteuert werden.

Ich vermute, dass Günter (WillWissen) mit seiner Vermutung wahrscheinlich richtig lag, was die vorherigen Probleme des TE betrifft. Wenn ActiveX Steuerelemente in die Tabelle eingefügt werden, wird automatisch der Entwurfmodus eingeschaltet. Und Günter kennt das aus eigener Erfahrung (ich übrigens auch immer wieder) , man vergisst oft, dass man sich immer noch im Entwurfmodus befindet und sich wundert, warum da nichts passiert.
(03.01.2015, 10:55)atilla schrieb: [ -> ]Hallo,

unten den gesamten Code in ein allgemeines Modul kopieren:

Code:
Sub xy()
Dim strFilename As String
Const LW = "F:\"
Const Pfad = "F:\003_Fa Knopf Unterlagen\Kalkulationsunterlagen\Kunden_Angebote"
ChDrive LW
ChDir Pfad
strFilename = getName(Pfad & Format(Date, "YYYY-MM-DD_") & Sheets("Massenermittlung").Range("B2"), ".xlsm")
ActiveWorkbook.SaveAs strFilename, FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False




End Sub

Private Function getName(ByVal strName As String, ByVal strExtension As String) As String
   Dim lngNummer As Long
  
   If Dir(strName & strExtension) = "" Then
      getName = strName & strExtension
   Else
      lngNummer = 1
      While Dir(strName & "_" & Format(lngNummer, "000") & strExtension) <> ""
         lngNummer = lngNummer + 1
      Wend
      getName = strName & "_" & Format(lngNummer, "000") & strExtension
   End If
End Function

Der Name wird in folgendem Format abgespeichert: 2015-01-03_Maier_001
Diese Art ist beim Speichern besser geeignet, da die Dateien im Ordner so chronologisch gelistet werden.
Hallo Atilla,

das Makro funktioniert.

Jedoch speichert das Makro nicht in:
F:\003_Fa Knopf Unterlagen\Kalkulationsunterlagen\Kunden_Angebote
sondern in
F:\003_Fa Knopf Unterlagen\Kalkulationsunterlagen

Ich vermute weil die Tabelle auf diesem Pfad liegt.

wäre super das noch funktionieren würde.....
Hallo,

ungetestet:

was passiert wenn du diese Zeile so änderst?

Const Pfad = "F:\003_Fa Knopf Unterlagen\Kalkulationsunterlagen\Kunden_Angebote\"
Seiten: 1 2 3