Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1008to1012
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
Tabelle kopieren
09.09.2008 21:51:00
Werner
Hallo Erich,
ich war im Urlaub und melde mich deshallb erst jetzt. Das ich einen neuen Beitrag Schreibe liegt daran das ich deine Antwort nur über das Archiv Lesen kann und von dort aus keine Möglichkeit gefunden habe zu Antworten. Nun zur Lösung meines Problemes: Ich habe da warscheinlich einiges durcheinander gebracht, Sorry !! Ich habe jetzt den Code kopiert und Eingefügt , dass Ergebnis war leiter eine Fehlermeldung laufzeitfehler 438 und der Bereich .BreakLink Name:=vLinks(ii), Type:=xlExcelLinks ist gelb markiert.
Wo habe ich da noch einen Fehler gemacht?
Gruß Werner

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle kopieren
10.09.2008 00:05:00
Erich
Hallo Werner,
du hättest netterweise gleich dazu schreiben können, auf welchen alten Beitrag du dich jetzt beziehst
(Link oder Datum/Uhrzeit).
Es geht um den Archivthread https://www.herber.de/forum/archiv/1004to1008/t1005224.htm
Den Fehler kann ich nicht nachvollziehen.
Liegt es vielleicht daran, dass deine Excelversion 9 (Office 2000) die Methode Workbook-BreakLink
nicht kennen sollte? (Das glaube ich aber nicht - schau doch mal in die VBA-Hilfe, ob es dort BreakLink gibt.)
Ich kopiere den Code hier noch mal rein. Eine Kleinigkeit habe ich geändert:
Im alten Code waren die Konstanten xlExcelLinks und xlLinkTypeExcelLinks vertauscht.
Da beide den Wert 1 haben, sollte das nicht gestört haben.

Private Sub CommandButton1_Click()
Dim vLinks, ii As Integer, strB As String
Sheets("Tabelle1").Copy       ' legt neue temp. Mappe an
With ActiveWorkbook           ' dort Links entfernen
vLinks = .LinkSources(Type:=xlExcelLinks)
If Not IsEmpty(vLinks) Then
For ii = 1 To UBound(vLinks)
.BreakLink Name:=vLinks(ii), Type:=xlLinkTypeExcelLinks
Next ii
End If
' Mitarbeiterablage öffnen
Workbooks.Open Filename:="C:\Dokumente und Einstellungen\Werner." & _
"ZAPF-PC1.003\Eigene Dateien\KalkulationKostenrechnung 23.08.2008\" & _
"Mitarbeiterablage.xls"
' in Zielmappe kopieren
.Sheets(1).Copy after:=Workbooks("Mitarbeiterablage.xls").Sheets(1)
.Close False               ' temp. Mappe schließen
End With
' Blatt umbenennen
strB = ActiveSheet.Cells(5, 2)
If SheetTest(strB) Then
MsgBox "Das kopierte Blatt konnte in " & ActiveWorkbook.Name & _
" nicht umbenannt werden." & vbLf & vbLf & "Blatt '" & strB & _
"' war bereits vorhanden.", vbExclamation, "weise hin..."
Else
ActiveSheet.Name = strB
' Mitarbeiterablage speichern + schließen
Workbooks("Mitarbeiterablage.xls").Close True
End If
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Tabelle kopieren
12.09.2008 16:50:45
Werner
Hallo Erich,
zuerst mal danke zu der Info mit den Archiv (hab ich so nicht gewußt, werde ich aber in zukunft machen)
Den Code habe ich jetzt so wie nachfolgend eingesetzt und das Funktioniert jetzt so wie ich mir das vorstelle.
Nochmals herzlichen Dank für Deine Hilfe!
Gruß Werner

Public Function SheetTest(strName As String) As Boolean
On Error Resume Next
SheetTest = Not Sheets(strName) Is Nothing
End Function



Private Sub CommandButton2_Click()
Dim vLinks, ii As Integer, strB As String
ChDir _
"C:\Dokumente und Einstellungen\Werner\Eigene Dateien\Kalkulation Kostenrechnung 25.08. _
2008"
Workbooks.Open Filename:= _
"C:\Dokumente und Einstellungen\Werner\Eigene Dateien\Kalkulation Kostenrechnung 25.08. _
2008\Mitarbeiterablage.xls"
Windows("Kalkulation-Kostenrechnung Römerbad 25.08.2008.xls").Activate
Sheets("Tabelle1").Select
Sheets("Tabelle1").Copy after:=Workbooks("Mitarbeiterablage.xls").Sheets(1)
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
' Blatt umbenennen
strB = ActiveSheet.Cells(2, 2)
If SheetTest(strB) Then
MsgBox "Das kopierte Blatt konnte in " & ActiveWorkbook.Name & _
" nicht umbenannt werden." & vbLf & vbLf & "Blatt '" & strB & _
"' war bereits vorhanden.", vbExclamation, "weise hin..."
Else
ActiveSheet.Name = strB
' Mitarbeiterablage speichern + schließen
ActiveWorkbook.Save
ActiveWindow.Close
End If
End Sub


Anzeige
AW: Tabelle kopieren
13.09.2008 07:12:00
Erich
Hallo Werner,
im Thread https://www.herber.de/forum/archiv/1004to1008/t1005224.htm
hatte ich dich gefragt:
___Sollen nur die Verknüpfungen eliminiert werden, d. h. andere Formeln erhalten bleiben?
___Oder reicht es aus, wenn in der Kopie nur Werte stehen?
Deine Antwort war "Die Formeln sollen erhalten bleiben."
Mit "PasteSpecial " werden jetzt bei dir aber alle Formeln durch Werte ersetzt - du hast keine Formeln mehr.
Funktioniert das jetzt wirklich so, wie du dir das vorgestellt hast?
Dem Laufzeitfehler 438 bei .BreakLink bist du wohl nicht weiter nachgegangen, oder?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Tabelle kopieren
13.09.2008 14:31:00
Werner
Hallo Erich,
Es sollen nur die Werte erhalten bleiben. Der Hintergrund war folgender, ich habe in der Tabelle in der Zelle B5 einen Wert stehen der den Bezug =Startcenter!D13 hat. Wenn die Tabelle in die Ablage kopiert wird bleibt ja die Orginal bestehen. In der Kopierten Tabelle habe ich ja in den Code (Blatt umbenenen) mit eingebaut.Wenn jetzt in der Orginal Tabelle der Wert in Zelle B5 (=Bezug.......) geändert wird würde sich ja im Kopierten Blatt der Wert auch ändern, und das soll verhindert werden.
Ich hoffe das ich mich richtig ausgetrückt habe, denn ich komme da immer wieder etwas durcheinander.
Viele Grüße
Werner
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige