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

Zeilen bin in Millionen bei neuer Spalte

Zeilen bin in Millionen bei neuer Spalte
05.11.2021 10:49:33
Joanna
Hallo an Alle,
ich bin mit meinem Latein am Ende und brauche das kollektive Wissen. Ich habe ein Tabellenblatt mit einer Tabelle, wo per Knopf vorformatierte Spalten eingefügt werden. Funktioniert alles prima, bis auf eine Kleinigkeit. Beim Einfügen der Spalten verlängert sich die Zeilenmenge auf diesem Blatt bis in Millionen, was die ganze Angelegenheit sehr langsam macht, denn ich muss viele dieser Spalten einfügen.
Ich habe alles entfernt was geht. Ich habe keine Idee mehr woran es liegt. auf anderen Blättern habe ich dieses Problem nicht. Was übersehe ich? Danke im Voraus
https://www.herber.de/bbs/user/148954.xlsm

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilen bin in Millionen bei neuer Spalte
05.11.2021 11:15:37
onur
"Ich habe keine Idee mehr woran es liegt" - es liegt an deinem Code natürlich:
Range("l:l").Select 'Selektiere die GANZE Spalte I
Selection.PasteSpecial 'Füge das und das in die GANZE Spalte ein
AW: Zeilen bin in Millionen bei neuer Spalte
05.11.2021 11:52:52
peterk
Hallo
Probier mal:

Sub Test()
Dim ListObj As ListObject
Dim ListName As String
Dim NameStr As String
Dim RangeStr As String
Set ListObj = ActiveSheet.ListObjects(1)
ListName = ListObj.Name
' Position Bitte anpasen
ListObj.ListColumns.Add Position:=11
ListObj.ListColumns.Add Position:=11
' Hier wird das Format von Spalte 8 und 9 übernommen
NameStr = "[" & ListObj.ListColumns(8).Name & "]:[" & ListObj.ListColumns(9).Name & "]"
RangeStr = ListName & "[[#All]," & NameStr & "]"
Range(RangeStr).Copy
' Format in die neuen Spalten einfügen
NameStr = "[" & ListObj.ListColumns(11).Name & "]"
RangeStr = ListName & "[[#Headers]," & NameStr & "]"
Range(RangeStr).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub

Anzeige
Es geht auch einfacher
05.11.2021 12:08:07
peterk
Hallo
Dieser Code ist besser

Sub Test2()
Dim ListObj As ListObject
Dim ListName As String
Set ListObj = ActiveSheet.ListObjects(1)
ListName = ListObj.Name
' Position Bitte anpasen
ListObj.ListColumns.Add Position:=11
ListObj.ListColumns.Add Position:=11
' Hier wird das Format von Spalte 8 übernommen und in Spalte 11 eingefügt
ListObj.ListColumns(8).Range.Copy
ListObj.ListColumns(11).Range.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
' Hier wird das Format von Spalte 9 übernommen und in Spalte 12 eingefügt
ListObj.ListColumns(9).Range.Copy
ListObj.ListColumns(12).Range.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
Peter

Anzeige

41 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige