Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1360to1364
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Code nur wenn Dateiname <>?

VBA Code nur wenn Dateiname <>?
28.05.2014 10:16:26
Marcy
Hallo Forum,
in einem flexibelem Layout gebe ich die Möglichkeit 20 Regale zu erstellen.
Jedes Regal beinhaltet jedoch einige tausend Formeln.
Das Layout läuft gut, hat aber eine gewisse Rechenzeit, ca.1-2sec pro Eingabe.
Oft werden aber nur ein Teil der Regale benötigt.
Daher gebe ich die Möglichkeit, Regale die nicht benötigt werden, z.B. Regal 3:20 einfach zu kopieren und als Werte wieder einfügen, damit die Formeln weg sind.
Das läuft bereits (ganz löschen bringt mir leider andere Probleme)
Etwas eleganter fände ich allerdings, wenn beim Starten des Code die kommentierten Sätze ausgeführt werden, damit die Vorlage nicht ausversehen gekürzt wird.
Die Vorlage ist nämlich für viele User an einem zentralen Ort abgelegt.
Aber selbst mir könnte ausversehen der Klick auf den jeweiligen Button passieren.
Etwas Sicherheit wäre gut.
Könnte mir jemand helfen?
Liebe Grüße
Marcy
Sub RegaleWEG3_20()
'1) Prüfe den Datei Namen, ist er  "Layout_Vorlage" dann führe den Code aus.
'2)Ist er = "Layout_Vorlage", dann
'3a)MsgBox "Du befindest Dich in der Vorlage, speicher die Datei erst neu ab" und Code beenden.
'3b) oder führe den bestehenden Code aus
Dim myPath, myFileName As String
myPath = ThisWorkbook.Path
myFileName = ThisWorkbook.Sheets("Randinformationen").Range("C1") & ".xlsm"
ActiveWorkbook.SaveAs myPath & "\" & myFileName
MsgBox "Die Datei wurde unter neuem Namen im ursprungs Speicherort gespeichert. Du  _
pflegst nun in der neuen Datei"
'ab hier läuft es bereits
Sheets("LAYOUT").Select
Rows("700:6099").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
MsgBox "Das Regal ist noch sichtbar, jedoch rechnet hier nichts mehr"
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code nur wenn Dateiname <>?
28.05.2014 10:46:31
Beverly
Hi marcy,
versuche es mal so (ungetestet):
Sub RegaleWEG3_20()
'1) Prüfe den Datei Namen, ist er  "Layout_Vorlage" dann führe den Code aus.
'2)Ist er = "Layout_Vorlage", dann
'3a)MsgBox "Du befindest Dich in der Vorlage, speicher die Datei erst neu ab" und Code beenden.
'3b) oder führe den bestehenden Code aus
Dim myPath, myFileName As String
myPath = ThisWorkbook.Path
myFileName = ThisWorkbook.Sheets("Randinformationen").Range("C1") & ".xlsm"
If ActiveWorkbook.Name = "Layout_Vorlage" Then
MsgBox "Du befindest Dich in der Vorlage, speicher die Datei erst neu ab"
Exit Sub
ElseIf ActiveWorkbook.Name  "Layout_Vorlage" Then
ActiveWorkbook.SaveAs myPath & "\" & myFileName
MsgBox "Die Datei wurde unter neuem Namen im ursprungs Speicherort gespeichert. Du  _
pflegst nun in der neuen Datei"
'ab hier läuft es bereits
Sheets("LAYOUT").Rows("700:6099").Copy
Sheets("LAYOUT").Rows("700:6099").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,  _
SkipBlanks _
:=False, Transpose:=False
MsgBox "Das Regal ist noch sichtbar, jedoch rechnet hier nichts mehr"
End If
End Sub


Anzeige
AW: VBA Code nur wenn Dateiname <>?
28.05.2014 16:57:33
Marcy
Hallo,
mache ich was total falsch?
Ich habe in den letzten Tagen bereits festgestellt, dass meine Antwort nicht online war.
Auch jetzt wundere ich mich, da ich Katrin´s flotte Antwort direkt gesehen habe, es getestet habe und dann geantwortet habe.
Die Sendebestätigung habe ich noch gesehen.
Ich wunderte mich jetzt nur, dass Katrin die so schnell heute früh geantwortet hatte, nicht mehr geantwortet hat und sehe, dass meine Meldung nicht da ist ?
Jetzt zu Dir Katrin,
danke für Deine Hilfe.
Ist schon sehr gut, aber nicht ganz richtig.`
Gruß Marcy
'1) Prüfe den Datei Namen, ist er "Layout_Vorlage" dann führe den Code aus folgenden Code aus und fertig.
Sheets("LAYOUT").Select
Rows("700:6099").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
MsgBox "Das Regal ist noch sichtbar, jedoch rechnet hier nichts mehr"
'2)Ist aber er = "Layout_Vorlage", dann
Dim myPath, myFileName As String
myPath = ThisWorkbook.Path
myFileName = ThisWorkbook.Sheets("Randinformationen").Range("C1") & ".xlsm"
ActiveWorkbook.SaveAs myPath & "\" & myFileName
MsgBox "Die Datei wurde unter neuem Namen im ursprungs Speicherort gespeichert. Du _
pflegst nun in der neuen Datei"
und jetzt erst
Sheets("LAYOUT").Select
Rows("700:6099").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
MsgBox "Das Regal ist noch sichtbar, jedoch rechnet hier nichts mehr"

Anzeige
AW: VBA Code nur wenn Dateiname <>?
28.05.2014 17:18:02
Marcy
Sorry Karin,
mein Frau heisst Kathrin, hatte mich schon die ganze Zeit konzentriert das "h" nicht zu schreiben :-(
Ich bin jetzt ins lange WE, wunder Dich also nicht wenn keine Antwort kommt (bis Montag)
Euch allen,
ein langes schönes Wochenende
Gruß Marcy

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige