Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1376to1380
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

.Columns(x).Copy mit Offset?

.Columns(x).Copy mit Offset?
18.08.2014 11:17:36
Robert
Hallo zusammen,
Ich seh mal wieder den Wald vor lauter Bäumen nicht. oder vielmehr finde ich den richtigen Baum vor Lauter Wald nicht.
Ich kopiere in ein Konsolidierungsfile Einzelne Spalten von verschiedenen Tabellen zusammen, bevor ich dann den Rest der Tabelle mittels Programm zusammensetze.
Nun will ich alle Daten dieser Spalte inkl. Header kopieren, die Überschrift steht aber erst in Zeile 7.
Ich Bräuchte also eine einfache möglichkeit folgendes:
Tabelle1.Columns(24).Copy

mit einem Offset von 6 zu verbinden.
Am liebsten wäre mir, wenn es nach wie vor in eine Zeile Code passen würde.
viele Grüße
Robert

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: .Columns(x).Copy mit Offset?
18.08.2014 11:36:24
Daniel
Hi
Tabelle1.Range(Tabelle1.Cells(7, 24), Tabelle1.Cells(tabelle1.cells.specialcells(xlcelltypelastcell).row, 24)).copy
Gruß Daniel

AW: .Columns(x).Copy mit Offset?
18.08.2014 12:22:32
Robert
Hallo Daniel,
dann werd ich es wohl so machen (allerdings mit Rows.Count.End, wenn du dich an meine Probleme mit Usedrange erinnerst).
Ich hatte ja die Hoffnung dass ich nur die Syntax nicht richtig zusammengebracht hab und es eine einfache ösung gibt.
viele grüße
Robert

AW: .Columns(x).Copy mit Offset?
18.08.2014 13:27:57
Daniel
wenn du Rows.count auf das SpecialCells(xlcelltypelastcell) anwendest, dann bekommst du 1 als Ergebnis, weil die letzte Zelle nur eine Zelle ist.
ein Offset auf die ganze Spalte würde natürlich auch funktionieren, allerdings darfst du natürlich keine Zellen ausserhalb des Tabellenblatts ansprechen (die gibst nämlich nicht).
deshalb musst du, wenn du von einer ganzen Spalte ausgehst, diese zuerst verkleinern, bevor du das Offset anwendest:
Tabelle1.Columns(24).Resize(Tabelle1.Rows.count - 7).Offset(6, 0).Copy

Gruß Daniel

Anzeige
AW: .Columns(x).Copy mit Offset?
18.08.2014 13:53:24
Robert
Hallo Daniel.
Ich meinte natürlich Cells(Rows.Count,24).End(xlup) statt dem Specialcells, um die letzte Reihe zuverlässig zu ermitteln.
Ging aber doch einfacher:
Tabelle1.UsedRange.Columns(24).Offset(6).Copy
Studieren über Probieren :)
Viele Grüße
Robert

AW: .Columns(x).Copy mit Offset?
18.08.2014 14:18:53
Daniel
Hi
nur dann, wenn die Zeile 1 zur UsedRange gehört.
Ist die Zeile 1 eine Leerzeile, welche nicht zur UsedRange gehört, dann kopierst du nicht ab Zeile 7, sondern ab Zeile 8.
Gruß Daniel

AW: .Columns(x).Copy mit Offset?
18.08.2014 15:18:49
Robert
Danke für den Hinweis,
ist bei mir der Fall, deswegen passts.
Danke :)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige