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.

Hilfe bei erweiterung Macro
#11
Hat sich glaube ich erledigt mit der zusätzlichen Frage.

Bzw ist das der richtige Weg das zu machen??
Code:
Sub zurück()
'
' zurück Makro
'
   ActiveWindow.SelectedSheets.Visible = False
   Sheets("Termineingabe").Select
   UserForm2.Show
End Sub
Antworten Top
#12
Hallo,


fast,

(07.06.2017, 12:28)M.Wichmann schrieb:    ActiveWindow.SelectedSheets.Visible = False

Verwende hier einfach ActiveSheet.Visible
Gruß Jonas
Antworten Top
#13
Ok, herzlichen dank noch mal für deine Unterstützung.

Jetzt müßt ich nur noch mal prüfen ob man die Macros generell vereinfachen oder zusammenfassen kann.

Habe jetzt 14 Macros in dem Dokument. Ist das evtl schon zu viel? Oder spielt das keine Rolle?
Antworten Top
#14
Hm,

was heißt spielt das keine Rolle...grundsätzlich ist es erstmal kein Problem 14 Makros in einer Mappe zu haben. "Zuviel" ist das jedenfalls nicht.

Optimieren lässt sich der Code sicherlich. Man kann aus den einzelnen Prozeduren sicherlich eine einzige mit Unterscheidung/Klassen/Events basteln. Ich kenne allerdings deine Datei nicht...
Gruß Jonas
Antworten Top
#15
Hallo,

mit Bezug auf deine PN.

Ich habe Verständnis dafür, dass das Anonymisieren von Dateien sehr zeitintensiv sein kann. Bedenke aber bitte,

  1. Wenn Du mir deine "unanonymisierte" Datei zusendest, könnte ich mit dieser ebenfalls Schindluder treiben. Ich denke, dass sensible Firmendaten generell nicht an Dritte Unbekannte ausserhalb des Betriebes weitergegeben werden sollten (Ist nur meine Meinung, wie da eure Complianceregeleungen sind, weiß ich nicht.
  2. Der für die Allgemeinheit wichtigere Teil: Wenn Du mir die Datei zusendest und ich diese bearbeite, kommt das imho einer Dienstleistung gleich. Du verwerhrst ja entsprechend der Öffentlichkeit an einer Lösung teilzuhaben und davon zu profitieren. Damit ist für mich der Zweck eines kostenlosen Forums zunichte gemacht.
Also, bitte mache dir die Mühe und anonymisiere deine Daten. Die Alternative einen Dienstleister aufzusuchen, hättest Du natürlich ebenfalls ;)

Zuguterletzt sollte ich noch erwähnen, dass ich ohnehin keine makrofähigen (mehr) Datein herunterlade.
Gruß Jonas
Antworten Top
#16
Hallöchen,

wenn Dein Projekt läuft, brauchst Du aus meiner Sicht nicht das ganze Projekt hochzuladen, um codeptimierungen durchzuführen. Du kannst Dir selber mal Gedanken machen, an welchen Stellen man die Zange ansetzen sollte und da schaust Du, wie Du vorwärts kommst und die Fragen stellst Du dann hier, ggf. mit codeausschnitten Smile
Du kannst auch Module exportieren und hochladen, aber ggf, erst auf Nachfrage.

Ich habe hier mal noch was zu Deinem allerersten Code. Du kannst Daten auch in ausgeblendete Blätter einfügen, im Prinzip so:

Dein Code:
Code:
Sub Auto7506()
'
' Auto7506 Makro
'

   Sheets("7506").Visible = True
   Sheets("7506").Select
   Range("A2:A233").Select
   Selection.ClearContents
   Range("A2").Select
   ActiveSheet.Paste
   Sheets("Termineingabe").Select
   Sheets("7506").Visible = False
End Sub

Mein Code:
Code:
Sub Auto7506_short()
Set r = Tabelle2
r.Range("A2:A233").ClearContents
Range("A5:B10").Copy
r.Cells(2, 1).PasteSpecial Paste:=xlAll
End Sub


Knackpunkt dabei ist das Verwenden des Codename des Blattes (Tabelle2), den nutze ich dann für die Zuweisung des Blattes an eine Variable.
In Deinem Code war ja noch der Fehler, dass Du vor der Paste ClearContents ausgeführt hast. Da gabs dann keine Paste mehr Sad
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#17
Ich habe in dem Code kein Kopieren, weil ich schon vor dem Start des macros mir etwas aus einem externen Dokument kopiere und durch das macro in Excel importiere.

Aktueller Stand des Codes ist(aus OpenOffice kopiert):


Code:
Rem Sub Auto7506()
Rem '
Rem ' Auto7506 Makro
Rem '
Rem
Rem With Sheets("7506")
Rem     .Visible = True
Rem     .Range("A2:A233").ClearContents
Rem     .Range("A2").PasteSpecial xlPasteAll
Rem     If MsgBox("Anpssungen notwendig?", vbYesNo + vbQuestion) = vbYes Then
Rem         Unload UserForm2
Rem         .Activate
Rem         Range("A35").Select
Rem         Exit Sub
Rem     End If
Rem     Sheets("Termineingabe").Activate
Rem    
Rem     .Visible = False
Rem End With
Rem End Sub
Läuft soweit gut.
Antworten Top
#18
Zitat:Läuft soweit gut.

Muss wohl!  :19:
Schließlich hat OpenOffice alles remarked (weil nicht VBA-kompatibel).

Gruß Ralf
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
#19
Läuft in Excel auf der Arbeit gut^^  Hier natürlich nicht. wollte nur den Code extrahieren.
Antworten Top
#20
Hallo,

ich bräuchte da noch einmal Unterstützung.

Momentan benutze ich folgenden Code:

Code:
Sub Auto7518()
'
' Auto7518 Makro
'
With Sheets("7518")
   .Visible = True
   .Range("A2:A233").ClearContents
   .Range("A2").PasteSpecial xlPasteAll
   If MsgBox("Anpassungen notwendig?", vbYesNo + vbQuestion) = vbYes Then
       Unload UserForm2
       .Activate
       Range("A35").Select
       Exit Sub
   End If
   Sheets("Termineingabe").Activate
   .Visible = False
End With
End Sub
Nun möchte ich, das zb dieser Code nur einmal pro Sitzung aufgerufen werden kann. Beim 2. Startversuch soll eine MsgBox kommen die nachfragt ob das so richtig ist das ich das noch einmal starte.
Antworten Top


Gehe zu:


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