Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1820to1824
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

Sheet kopieren und neu anordnen

Sheet kopieren und neu anordnen
16.03.2021 08:51:37
André
Hallo zusammen
Das folgende Makro wurde aufgezeichnet, weshalb es wohl unnötig lang wird. Nur hat es nun einen Laufzeitfehler, welchen ich nicht finde.
Folgendes sollte das Makro machen: Sheet "Soll-Liste SAP" soll kopiert werden. Im neuen Sheet werden alle Links entfernt (Alles markieren, kopieren und nur Werte einfügen). Danach werden die Zeilen nach Spalte A sortiert. Ist dies geschehen, können die Werte nochmals kopiert werden (aber ohne Spalte A, die ist nur zum sortieren) dann eine Vorlage öffnen und die Werte da einfügen. Speichern unter..., das "neue Sheet" kann wieder gelöscht werden.
Gruss André
Private Sub CommandButton1_Click()
Sheets("SOLL-Liste SAP").Select
Sheets("SOLL-Liste SAP").Copy After:=Sheets(4)
Sheets("SOLL-Liste SAP (2)").Select
ActiveWindow.Panes(1).Activate
Range("A1:AA1000").Select
Range("A1:AA1000").Activate
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.Panes(3).Activate
Range("A10:AS10").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWindow.ScrollColumn = 26
ActiveWindow.ScrollColumn = 25
ActiveWindow.ScrollColumn = 24
ActiveWindow.ScrollColumn = 23
ActiveWindow.ScrollColumn = 22
ActiveWindow.ScrollColumn = 21
ActiveWindow.ScrollColumn = 20
ActiveWindow.ScrollColumn = 19
ActiveWindow.ScrollColumn = 18
ActiveWindow.ScrollColumn = 17
ActiveWindow.ScrollColumn = 16
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
ActiveWindow.SmallScroll Down:=-408
ActiveWindow.ScrollRow = 366
ActiveWindow.ScrollRow = 361
ActiveWindow.ScrollRow = 353
ActiveWindow.ScrollRow = 349
ActiveWindow.ScrollRow = 342
ActiveWindow.ScrollRow = 335
ActiveWindow.ScrollRow = 327
ActiveWindow.ScrollRow = 322
ActiveWindow.ScrollRow = 317
ActiveWindow.ScrollRow = 312
ActiveWindow.ScrollRow = 308
ActiveWindow.ScrollRow = 303
ActiveWindow.ScrollRow = 301
ActiveWindow.ScrollRow = 294
ActiveWindow.ScrollRow = 285
ActiveWindow.ScrollRow = 276
ActiveWindow.ScrollRow = 270
ActiveWindow.ScrollRow = 262
ActiveWindow.ScrollRow = 256
ActiveWindow.ScrollRow = 249
ActiveWindow.ScrollRow = 240
ActiveWindow.ScrollRow = 233
ActiveWindow.ScrollRow = 225
ActiveWindow.ScrollRow = 216
ActiveWindow.ScrollRow = 207
ActiveWindow.ScrollRow = 197
ActiveWindow.ScrollRow = 186
ActiveWindow.ScrollRow = 176
ActiveWindow.ScrollRow = 170
ActiveWindow.ScrollRow = 162
ActiveWindow.ScrollRow = 157
ActiveWindow.ScrollRow = 152
ActiveWindow.ScrollRow = 148
ActiveWindow.ScrollRow = 144
ActiveWindow.ScrollRow = 139
ActiveWindow.ScrollRow = 134
ActiveWindow.ScrollRow = 130
ActiveWindow.ScrollRow = 129
ActiveWindow.ScrollRow = 126
ActiveWindow.ScrollRow = 124
ActiveWindow.ScrollRow = 121
ActiveWindow.ScrollRow = 120
ActiveWindow.ScrollRow = 118
ActiveWindow.ScrollRow = 116
ActiveWindow.ScrollRow = 115
ActiveWindow.ScrollRow = 112
ActiveWindow.ScrollRow = 108
ActiveWindow.ScrollRow = 107
ActiveWindow.ScrollRow = 104
ActiveWindow.ScrollRow = 101
ActiveWindow.ScrollRow = 95
ActiveWindow.ScrollRow = 90
ActiveWindow.ScrollRow = 85
ActiveWindow.ScrollRow = 80
ActiveWindow.ScrollRow = 76
ActiveWindow.ScrollRow = 71
ActiveWindow.ScrollRow = 66
ActiveWindow.ScrollRow = 62
ActiveWindow.ScrollRow = 58
ActiveWindow.ScrollRow = 54
ActiveWindow.ScrollRow = 53
ActiveWindow.ScrollRow = 52
ActiveWindow.ScrollRow = 51
ActiveWindow.ScrollRow = 48
ActiveWindow.ScrollRow = 45
ActiveWindow.ScrollRow = 43
ActiveWindow.ScrollRow = 40
ActiveWindow.ScrollRow = 39
ActiveWindow.ScrollRow = 36
ActiveWindow.ScrollRow = 35
ActiveWindow.ScrollRow = 34
ActiveWindow.ScrollRow = 33
ActiveWindow.ScrollRow = 30
ActiveWindow.ScrollRow = 29
ActiveWindow.ScrollRow = 27
ActiveWindow.ScrollRow = 25
ActiveWindow.ScrollRow = 24
ActiveWindow.ScrollRow = 21
ActiveWindow.ScrollRow = 20
ActiveWindow.ScrollRow = 17
ActiveWindow.ScrollRow = 15
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 11
ActiveWindow.ScrollRow = 8
ActiveWindow.ScrollRow = 7
ActiveWindow.ScrollRow = 6
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 1
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("SOLL-Liste SAP (2)").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("SOLL-Liste SAP (2)").Sort.SortFields.Add2 Key:= _
Range("A10"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("SOLL-Liste SAP (2)").Sort
.SetRange Range("A10:AS810")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("E14").Select
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 16
ActiveWindow.ScrollColumn = 17
ActiveWindow.ScrollColumn = 18
ActiveWindow.ScrollColumn = 19
ActiveWindow.ScrollColumn = 20
ActiveWindow.ScrollColumn = 21
ActiveWindow.ScrollColumn = 22
ActiveWindow.ScrollColumn = 23
ActiveWindow.ScrollColumn = 24
ActiveWindow.ScrollColumn = 25
ActiveWindow.ScrollColumn = 26
ActiveWindow.ScrollColumn = 25
ActiveWindow.ScrollColumn = 24
ActiveWindow.ScrollColumn = 22
ActiveWindow.ScrollColumn = 21
ActiveWindow.ScrollColumn = 19
ActiveWindow.ScrollColumn = 17
ActiveWindow.ScrollColumn = 16
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
ChDir _
"I:\D5\Engineering & Services\Engineering\20 Energie\03 Einkauf und Verrechnung\01  _
Elektrizität\B Stromverrechnung\Einheitstarif\Produktiv"
Workbooks.Open Filename:= _
"I:\D5\Engineering & Services\Engineering\20 Energie\03 Einkauf und Verrechnung\01  _
Elektrizität\B Stromverrechnung\Einheitstarif\Produktiv\VORLAGE 04a - SAP-Upload Strom ET KST. _
xlsx"
Windows("MAKRO 03a - ET Stromkosten Kostenstellen.xlsm").Activate
Range("B10:AS10").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWindow.ScrollColumn = 26
ActiveWindow.ScrollColumn = 25
ActiveWindow.ScrollColumn = 24
ActiveWindow.ScrollColumn = 23
ActiveWindow.ScrollColumn = 22
ActiveWindow.ScrollColumn = 21
ActiveWindow.ScrollColumn = 20
ActiveWindow.ScrollColumn = 19
ActiveWindow.ScrollColumn = 18
ActiveWindow.ScrollColumn = 17
ActiveWindow.ScrollColumn = 16
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
ActiveWindow.SmallScroll Down:=-81
Selection.Copy
Windows("VORLAGE 04a - SAP-Upload Strom ET KST.xlsx").Activate
Range("B11").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=504
ActiveWindow.ScrollRow = 509
ActiveWindow.ScrollRow = 523
ActiveWindow.ScrollRow = 537
ActiveWindow.ScrollRow = 552
ActiveWindow.ScrollRow = 566
ActiveWindow.ScrollRow = 580
ActiveWindow.ScrollRow = 594
ActiveWindow.ScrollRow = 623
ActiveWindow.ScrollRow = 637
ActiveWindow.ScrollRow = 651
ActiveWindow.ScrollRow = 666
ActiveWindow.ScrollRow = 680
ActiveWindow.ScrollRow = 694
ActiveWindow.ScrollRow = 708
ActiveWindow.ScrollRow = 694
ActiveWindow.ScrollRow = 680
ActiveWindow.ScrollRow = 666
ActiveWindow.ScrollRow = 651
ActiveWindow.ScrollRow = 637
ActiveWindow.ScrollRow = 623
ActiveWindow.ScrollRow = 609
ActiveWindow.ScrollRow = 594
ActiveWindow.ScrollRow = 580
ActiveWindow.ScrollRow = 566
ActiveWindow.ScrollRow = 580
ActiveWindow.ScrollRow = 594
ActiveWindow.ScrollRow = 609
ActiveWindow.ScrollRow = 594
ActiveWindow.ScrollRow = 580
ActiveWindow.ScrollRow = 581
Rows("587:590").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll Down:=6
Rows("591:607").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("E602").Select
ActiveWindow.SmallScroll Down:=-15
ActiveWindow.ScrollRow = 566
ActiveWindow.ScrollRow = 509
ActiveWindow.ScrollRow = 466
ActiveWindow.ScrollRow = 395
ActiveWindow.ScrollRow = 324
ActiveWindow.ScrollRow = 139
ActiveWindow.ScrollRow = 96
ActiveWindow.ScrollRow = 11
ActiveWorkbook.SaveAs Filename:= _
"I:\D5\Engineering & Services\Engineering\20 Energie\03 Einkauf und Verrechnung\01  _
Elektrizität\B Stromverrechnung\Einheitstarif\Produktiv\" _
, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Windows("MAKRO 03a - ET Stromkosten Kostenstellen.xlsm").Activate
Sheets("SOLL-Liste SAP (2)").Select
ActiveWindow.SelectedSheets.Delete
End Sub


11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sheet kopieren und neu anordnen
16.03.2021 11:13:20
Piet
Hallo Andre
durch deinen Makro Recorder Code blickt man kaum durch, ich habe ihn mal verkürzt! Ganz oben findest du zwei Const Anweisungen für Pfad1 + 2, die legt man sich besser nach oben. Im Code stört der lange Text nur, man verliert zu leicht die Übersicht über den Code.
Bei der Pfad angabe ist zu beachten das im 1. Ofad am Ende das "\" Zeichen steht, beim 2. Pfad NICHT. Wegen ChDir habe ich es da weggelassen. Frage ist ob du ChDir überhaupt brauchst, oder ob das stört. Deaktivieren kannst du die Zwile indem du VOR ChDir ein ' Apostroph setzt, dann wird die Zeile grün und gilt als Kommentar. So deaktivieren wir zum Testen Befehle.
Schau mal wie weit der Code laeuft, und welche Zeile bei Laufzeitfehler gelb markiert wird. Ohne die Zeile zu kennen ist die Frage schwer zu beantworten. Das musst du bitte selbst austesten.
mfh Piet
'VBA-Code oder Formel Sheet kopieren und neu anordnen - André Ehrsam 16.03.2021 08:51:37
Const Pfad1 = "I:\D5\Engineering & Services\Engineering\20 Energie\03 Einkauf und Verrechnung\"
Const Pfad2 = "01 Elektrizität\B Stromverrechnung\Einheitstarif\Produktiv"   '** ohne "\" am  _
Ebde!!
Private Sub CommandButton1_Click()
Sheets("SOLL-Liste SAP").Copy After:=Sheets(4)
Sheets("SOLL-Liste SAP (2)").Select
ActiveWindow.Panes(1).Activate
Range("A1:AA1000").Copy
Range("A1:AA1000").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
With ActiveWorkbook.Worksheets("SOLL-Liste SAP (2)")
.Sort.SortFields.Clear
.Sort.SortFields.Add2 Key:=Range("A10"), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
With .Sort
.SetRange Range("A10:AS810")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
ChDir Pfad1 & Pfad2
Workbooks.Open Filename:=Pfad1 & Pfad2 & "\VORLAGE 04a - SAP-Upload Strom ET KST.xlsx"
Windows("MAKRO 03a - ET Stromkosten Kostenstellen.xlsm").Range("B10:AS10").Copy
Windows("VORLAGE 04a - SAP-Upload Strom ET KST.xlsx").Activate
Range("B11").PasteSpecial Paste:=xlPasteValues, Transpose:=False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteFormats, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:=Pfad1 & Pfad2 & "\FileFormat:=xlOpenXMLWorkbook,  _
CreateBackup:=False"
Windows("MAKRO 03a - ET Stromkosten Kostenstellen.xlsm").Activate
Sheets("SOLL-Liste SAP (2)").Delete
End Sub


Anzeige
AW: Sheet kopieren und neu anordnen
16.03.2021 11:22:05
Piet
Nachtrag
wenn du das Sheet bereits kopiert und soritert hast, waere es da nicht einfacher die Sortier Spalte A zu löschen und nur dieses eine Blatt unter neuem Namen zu speichern? Mir kam gerade diese Idee ...
mfg Piet

AW: Sheet kopieren und neu anordnen
16.03.2021 12:05:24
André
Hallo Piet
Erstens mal besten Dank für deine Hilfe. Sieht einiges aufgeräumter aus.
Den Befehl Const habe ich gleich nach dem Sub eingefügt. Das hat Excel nicht geschluckt ohne Zuordnung.
Allerdings ergibt sich nun einen Syntaxfehler beim Speichern des Files am Ende.
Gelb Markiert wird aber der Sub-Befehl am Anfang.
Rot der Speicherbefehl.
Betreffend deiner Frage: Das Kopieren in die Vorlage 04a ist zwingend, da die obersten 10 Zeilen eine andere Programmierung und Daten aufweisen als im File 03a.
Hier noch das File 03a, falls benötigt.
https://www.herber.de/bbs/user/144841.xlsm

Anzeige
AW: Sheet kopieren und neu anordnen
16.03.2021 18:39:07
Piet
Hallo Andre
die Const Anweisung solltest du bitte ganz oben belassen, ich lege sie nie ins Makro rein!
Schadet nicht, aber oben kannst du solche Anweisungen einfacher aendern. Ist dort übersichtlicher und gültig für alle weiteren Makros im Modul, sofern mehrere untereinander stehen. Das gilt auch für DIM Variabel. Oben sind sie für das ganze Blatt gültig, mit "Public" (auch Public Const) gelten sie für die gesamte Mappe, für alle Module! Aber Vorsicht, Öffentliche Variable (Public!) werden nach dem verlassen des Makros NICHT gelöscht! Muss die Varaible leer sein gehört sie ins Sub Programm. VBA Detail Wissen.
Ich schaue mir dein Besispiel an, aber heute nicht mehr. Bin müde vom Rat geben und Programmieren .
mfg Piet

Anzeige
AW: Sheet kopieren und neu anordnen
17.03.2021 10:25:00
André
Hallo Piet
Kein Problem. Ich bin über jede Unterstützung dankbar.
Ich habe die Kopieranweisung ein wenig vereinfacht, da es Anfangs noch Probleme mit der Formelentfernung gab.
Nun bin ich zu diesem Makro gekommen.
Allerdings habe ich momentan das Problem, dass vor dem Kopieren Meldungen erscheinen, welche ein ganz anderes Excel-File betreffen. Ich habe keine Ahnung, weshalb dies geschieht..?
Der erste Schritt sieht nun folgendermassen aus:
Private Sub CommandButton1_Click()
Dim vardatei1 As Variant
'sheet komplett kopieren:
Worksheets("Soll-Liste SAP").Copy after:=Worksheets("Soll-Liste SAP")
'Formeln durch Werte ersetzen:
With ActiveSheet.UsedRange
.Value = .Value
End With

Anzeige
AW: Sheet kopieren und neu anordnen
17.03.2021 10:58:57
André
NACHTRAG: Die Meldung welche kommt lautet so:
Der Name "bericht" ist bereits vorhanden. Klicken Sie auf "Ja", um diese Version des Namens zu verwenden, oder klicken Sie auf "Nein", um die Version von "bericht", die Sie verschieben oder kopieren möchten, umzubenennen.
"bericht" ist nur eine von vielen Überschriften, welche dann noch ca 20 weitere solcher Meldungen verursacht.
Kommt diese Meldung von einem übergeordneten Makro? Ich komm irgendwie nicht drauf, weshalb mir plötzlich diese Meldungen aufploppen. Scheint mir nicht von Excel selbst zu kommen...

AW: Sheet kopieren und neu anordnen Nachtrag
17.03.2021 12:06:37
Piet
Nachtrag
sollten in deiner Liste nur einige Namen defekt sein, die anderen in Ordnung, kannst du die defekten auch gezielt einzeln löschen.
mfg Piet
Sub Namen_einzeln_löschen()
ThisWorkbook.Names("Beispiel1").Delete
ThisWorkbook.Names("Beispiel2").Delete
'usw.  immer den namen angeben
End Sub


Anzeige
AW: Sheet kopieren und neu anordnen
17.03.2021 11:59:34
Piet
Hallo Andre
Ich habe den Code an dieser Stelle bei mir zum laufen gebracht, indem ich in beiden Const Anweisungen am Ende das "\" Zeichen setze, und die neue Datei unter dem neuen Namen "Test 2" speichere. Damit klappt es.
ActiveWorkbook.SaveAs Filename:=Pfad1 & Pfad2 & "Test neu", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Das aufploppen von Namen habe ich auch, aber nur wenn ich Blatt "SOLL-Liste SAP" kopiere, Nehme ich eine neue leere Tabelle zum kopieren erscheint KEINE Nachricht. Den Fehler habe ich gefunden! Halte dich fest!! Er ist sooo simpel, erfordert aber jahrelanges VBA Wissen!
Im Namensmanager erscheinen keine WB-Namen, obwohl es über 360 in deinem Sheet gibt. Wie ist das möglich? Excel hat einen Schwachpunkt, der viel mir zum Glück beim Schreiben ein. Wenn WB Namen einen Referenz Fehler haben (#REF als Bezug), die Verbindung falsch ist, erscheinen sie NICHT im offiziellen Manager, sind aber im Hintergrund nach wie vor (intern!) vorhanden. Dann will Excel 360 neue Namen vergeben!! Verstanden ...
Mit dem Code unten kannst du dir in einem neuen Blatt die Original Namensliste auflisten und ansehen, mit dem zweiten Code alle ungültigen Referenzen ab Stelle 2 löschen. Den ersten Namen habe ich stehen lassen. Der stört auch nicht beim kopieren. Danach klappte das Kopieren der "Soll Liste" einwandfrei. Schau mal ob du deine Liste damit bereinigen kannst.
Bitte zuerst aber in eine Kopie Datei austesten, damit du dir nicht versehentlich wichtige Bezüge weglöschst!!
Würde mich freuen wenn damit alle Fehşer behoben sind, Dann können wir den Thread abschliessen.
mfg Piet

Anzeige
AW: Sheet kopieren und neu anordnen
17.03.2021 13:15:05
André
Hallo Piet
Problem verstanden :)
Aber welcher Code ist gemeint?
Alle anzeigen zu lassen, wäre wohl angenehmer :)
Gruss André

AW: Sheet kopieren und neu anordnen
17.03.2021 16:29:52
Piet
Hallo Andre
am besten mit dem ersten Code in ein neues Blatt alle WB Namen auflisten und anschauen. Die Fehler erkennst du in der Bezugsspalte als "#REF". Warum der Bezug verloren ging kann ich nicht sagen? Passiert z.B. wenn man Zellen endgültig löscht, die mit dem WB Namen verbunden waren.
Vielleicht sind einige Bezüge ja auch wichtig und müssen widerhergestellt werden? Das kann ich von hier nicht beurteilen. Deine Datei ist ja sehr komplex. Aber ich denke da weisst schnell was da Sache ist, und was als erledigte "Excel Leiche" gelöscht werden kann.
mfg Piet

Anzeige
AW: Sheet kopieren und neu anordnen
17.03.2021 16:45:06
André
Nachtrag:
Habe einen Code für die #ref Names gefunden:
Sub DeleteAllREFRanges()
Dim n As Name
For Each n In ActiveWorkbook.Names
If InStr(n.Value, "#REF!") > 0 Then n.Delete
Next n
End Sub
hat so funktioniert.
Das Makro habe ich noch mit ein paar Details verfeinert (z.b. Dialogfenster für Speichern unter, etc.)
Ich bedanke mich herzlich für deine Hilfe.
Grüsse André
PS: Den Thread kann man somit schliessen

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige