Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Makro





Frage

Hallo Leute, ich hoffe ihr könnt mir auch diesmal wieder beim folgenden Problem helfen und zwar habe ich folgendes Makro aufgezeichnet und aus einen anderen Makro was eingefügt es funktioniert auch so wie so gut , aber beim Speichen werden nicht die originalen Tabellen-Namen übernommen sonder es werden neue angelegt ( Tabelle1, Tabelle2, Tabelle3 ), es sollten aber die originalen Tabellen-Namen übernommen werden. Sub Kopieren() ´ ´ Kopieren Makro ´ Makro am 25.10.2005 von Achim aufgezeichnet ´ ´ Sheets(Array(" Automaten", "Wechsler", "Deckblatt")).Select Sheets(" Automaten").Activate Cells.Select Selection.Copy Workbooks.Add Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Sheets("Tabelle2").Select Range("A18").Select Sheets("Tabelle1").Select Range("C4").Select Sheets("Tabelle3").Select Range("B20:D20").Select Sheets("Tabelle2").Select Rem Speichernabfrage i = MsgBox("SpeichernAktion kann nicht rückgängig gemacht werden!" & Chr(13) & _ "" & Chr(13) & _ "Sicher? Dann OK, sonst ABBRECHEN" & Chr(13), 1 + vbExclamation, "Festwerte in neue Datei speichern") Rem wenn Abbrechen angeklickt, makroende If i = 2 Then Exit Sub Rem SpeichernDialog aufrufen Neuer_Dateiname = Application.GetSaveAsFilename(InitialFileName:="", fileFilter:="Excel-Arbeitsmappe, *.xls") If Neuer_Dateiname = False Then Exit Sub ActiveWorkbook.SaveAs Filename:=Neuer_Dateiname End Sub Gruß Achim

Antwort 1 von coros

Hi Achim,

ist doch klar, dass das so ist. Du legst mit dem Befehl "Workbook.Add" eine neue Datei an, die mit Sicherheit drei Tabellenblätter mit dem Namen Tabelle1 , 2 und 3 hat. Diese neue Datei speicherst Du dann zum Schluss. Wo sollen denn da andere Tabellenblattnamen herkommen. Erklär doch mal, was Du erreichen möchtest, dann kann man Dir sicherlich einen passenden Code erstellen. Denn ich weiß ehrlich gesagt nicht, warum Du alle Tabellenblätter anwählst um dort eine Zelle zu markieren, dann aber in den Blättern nichts mehr passiert.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Achim115

Hallo Coros,

erst mal Danke für die schnelle Antwort.
Ich möchte mit den Makro folgendes erreichen,
Es sollen aus den drei Tabellen ( Automaten,Wechsler,Deckblatt ) nur die Werte und die Formate in eine neue Mappe kopiert werden und dan soll der Speichen unter Dialog kommen.
Aber wie gesagt mein Makro funktioniert so weit aber mit den Tabellen Namen eben nicht.
Ich währe um eine Antwort sehr dankbar.


Gruß
Achim

Antwort 3 von coros

Hi Achim,

kopiere nachfolgenden Code in ein StandardModul und starte es über eine Schaltfläche.

Option Explicit

Sub Kopieren()
Dim Wiederholungen As Integer, Quelldatei As String, i As Integer, _
Neuer_Dateiname
Application.ScreenUpdating = False
Quelldatei = ActiveWorkbook.Name
Workbooks.Add
For Wiederholungen = 1 To 3
Sheets(Wiederholungen).Name = Workbooks(Quelldatei).Sheets(Wiederholungen).Name
Workbooks(Quelldatei).Sheets(Wiederholungen).Cells.Copy
Sheets(Wiederholungen).Range("A1").PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Next
i = MsgBox("SpeichernAktion kann nicht rückgängig gemacht werden!" & Chr(13) & _
"" & Chr(13) & _
"Sicher? Dann OK, sonst ABBRECHEN" & Chr(13), 1 + vbExclamation, "Festwerte in neue Datei speichern")
Rem wenn Abbrechen angeklickt, makroende
If i = 2 Then Exit Sub
Rem SpeichernDialog aufrufen
Neuer_Dateiname = Application.GetSaveAsFilename(InitialFileName:="", fileFilter:="Excel-Arbeitsmappe, *.xls")
If Neuer_Dateiname = False Then Exit Sub
ActiveWorkbook.SaveAs Filename:=Neuer_Dateiname
End Sub


Bei dem Makro werden Dir nur die Werte Deiner drei Tabellenblätter in eine neue Datei Kopiert und die Tabellenblätter in der neuen Datei erhalten die gleichen Namen wie in der Ausgangsdatei. Zum Schluss wird die Datei gespeichert, wenn das in der MessageBox bestätigt wird.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von achim115

Hallo Coros,

Danke für Deine Hilfe.
Dein Makro funktioniert fast so wie ich es wollte, es werden zwar alle Werte und die Tabellen Namen übernommen aber die Formatierung der einzelnen Tabellen werden nicht übernommen, es währe nicht schlecht wenn Du das auch noch hinbringen würdest.
Vielen Dank in voraus


Gruß
Achim

Antwort 5 von achim115

Hallo Coros,

Danke für die Hilfe,
das Problem mir der Formatierung hab ich schon hingebracht, ist gar nicht so schwer wie ich dachte.
Danke noch ein mal.



Gruß und schönen Sonntag
Achim

Antwort 6 von coros

Hi Achim,

das sollte das nachfolgende Makro machen. Ist im Prinzip genauso wie das letzte, nur mit dem Zusatz, dass Formate mitkopiert werden.

Option Explicit

Sub Kopieren()
Dim Wiederholungen As Integer, Quelldatei As String, i As Integer, _
Neuer_Dateiname
Application.ScreenUpdating = False
Quelldatei = ActiveWorkbook.Name
Workbooks.Add
For Wiederholungen = 1 To 3
Sheets(Wiederholungen).Name = Workbooks(Quelldatei).Sheets(Wiederholungen).Name
Workbooks(Quelldatei).Sheets(Wiederholungen).Cells.Copy
Sheets(Wiederholungen).Range("A1").PasteSpecial Paste:=xlPasteValues
Sheets(Wiederholungen).Range("A1").PasteSpecial Paste:=xlPasteFormats
Next
i = MsgBox("SpeichernAktion kann nicht rückgängig gemacht werden!" & Chr(13) & _
"" & Chr(13) & _
"Sicher? Dann OK, sonst ABBRECHEN" & Chr(13), 1 + vbExclamation, "Festwerte in neue Datei speichern")
Rem wenn Abbrechen angeklickt, makroende
If i = 2 Then Exit Sub
Rem SpeichernDialog aufrufen
Neuer_Dateiname = Application.GetSaveAsFilename(InitialFileName:="", fileFilter:="Excel-Arbeitsmappe, *.xls")
If Neuer_Dateiname = False Then Exit Sub
ActiveWorkbook.SaveAs Filename:=Neuer_Dateiname
End Sub


MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 7 von achim115

Hallo Coros,

Danke,Danke.
Jetzt hab ich nur noch ein anders Problem, aber da zu melde ich mich noch einmal.
Familie geht nun mal vor.


Schönen Sonntag

Achim

Antwort 8 von hartl

Acces-Hilfe für Hartl!
DieTabelle hat eine Spalte mit Kommisionsnummer, und eine Spalte beinhaltet CNC-Nummern.
Die CNC-Nummern sind aber für mehrere Kommisionsnummern gleich.
Nun machte ich eine Anfügeabfrage für eine neue Tabelle mit einer Indizierten Spalte ohne Duplikate um einer jeden Kommisionsnummer die richtige CNC-Nummer zuzuteilen.
Nach einer Fehler und Warnmeldung wird das Ergebnis in der neuen Tabelle richtig angezeigt.
So weit so gut.
Diesen Vorgang habe ich in ein Makro geschrieben.
Jetzt kommt wieder eine Fehlermeldung.
Das Makro wird aber nicht durchgeführt .
Wer kann mir bitte helfen ??
Gruß Hartl.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: