Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1040to1044
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

Zelladressenzerlegung

Zelladressenzerlegung
16.01.2009 17:20:00
Heinz
Hallo,
ich habe folgendes Problem: Ich möchte einen markierten Bereich per Knopfdruck eine Spalte nach Rechts verschieben. Mit Copy und Paste dürfte das ja kein Problem sein. Nur wie erhalte ich die Adresse der Range (Bsp: A1:A10)? Und wie kann ich daraus dann B1:B10 machen?
Vielen Dank im Voraus
Gruß Heinz

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelladressenzerlegung
16.01.2009 17:23:00
Ramses
Hallo
x = Selection.Cells(1,1).Address(0,0)
gibt die Adresse der ersten Zelle einer Auswahl
Alternativ statt "Address" kannst du auch "Column" verwenden
Gruss Rainer
AW: Zelladressenzerlegung
16.01.2009 17:40:17
Heinz
Hallo Rainer,
vielen Dank für deine schnelle Antwort!
Ich habe bisher folgendes als Code:

Sub MoveTable1Rechts()
spalte1 = Selection.Cells(1, 1).Column
zeile1 = Selection.Cells(1, 1).Row
spalte2 = spalte1 + 1
Selection.Copy
End Sub


Jetzt müsste ich ja noch so etwas wie "Range(A1).Select" und ActiveSheet.Paste einfügen!?
Ich hab nur leider keine Ahnung wie ich das mit Range hinbekommen soll? Wie wandel ich spalte2 und zeile1 so um, dass ich quasi Range(spalte2 & zeilel 1).Select schreiben kann?
Gruß Heinz

Anzeige
Lösung
16.01.2009 18:00:00
Heinz
Hallo,
konnte es gerade selber lösen! Es geht natürlich mit
Cells(zeile1, spalte2).Select
Vielleicht gibt es ja aber trotzdem eine Möglichkeit, dies auch mit Range(A1) zu lösen?
Gruß Heinz
AW: Lösung
16.01.2009 18:13:00
hary
Hallo Heinz
versuch mal diesen Code.

Sub n()
Dim Bereich As Range
Dim spalte As Long
Dim zeile As Long
spalte = Selection.Cells(1, 1).Column
zeile = Selection.Cells(1, 1).Row
Set Bereich = Selection
Bereich.Copy Cells(zeile, spalte + 1)
End Sub


Gruss hary

AW: Lösung
16.01.2009 18:25:00
Heinz
Hallo Hary,
haut auch super hin!
Hast du vielleicht eine Idee, wie ich das gleiche auch für einen mehrspaltigen Bereich erreiche?
Bsp.: Copy (A1:B10) und insert C1:D10
Anzeige
AW: Lösung
16.01.2009 18:37:18
hary
hallo
geht so. Bereich A1 bis B10 markieren und Makro starten. Aus der 1 ne 2 gemacht.

Sub n()
Dim Bereich As Range
Dim spalte As Long
Dim zeile As Long
spalte = Selection.Cells(1, 1).Column
zeile = Selection.Cells(1, 1).Row
Set Bereich = Selection
Bereich.Copy Cells(zeile, spalte + 2)    'die 2 geaendert
End Sub


Gruss hary

AW:ist was doppelt gemoppelt
16.01.2009 18:55:23
hary
hallo Heinz
Hab vergessen was rauszunehmen, so ist der Code kuerzer.

Sub n()
Dim spalte As Long
Dim zeile As Long
spalte = Selection.Cells(1, 1).Column
zeile = Selection.Cells(1, 1).Row
Selection.Copy Cells(zeile, spalte + 2)
End Sub


gruss hary

Anzeige
AW: Lösung
16.01.2009 18:59:24
Heinz
Hallo Hary,
das ist natürlich klar. Naja, was heißt natürlich, aber ich hatte dein Makro halt verstanden. Wenn ich jetzt aber A1: D10 markiere, dann möchte ich ja nicht vorher das Makro ändern. Ich bräucht halt eine Variable, die beschreibt, über wie viele Spalten die Markierung geht.
Gruß Heinz
AW: Lösung
16.01.2009 19:25:00
hary
Heinz
versuch mal dies. Hab jetzt Feierabend ;-)

Sub n()
Dim spalte As Long
Dim zeile As Long
Dim a As Long
a = Selection.Columns.Count
spalte = Selection.Cells(1, 1).Column
zeile = Selection.Cells(1, 1).Row
Selection.Copy Cells(zeile, a + 1)
End Sub


Gruss hary

Anzeige
AW: Selection.Columns.Count o.T.
16.01.2009 21:16:00
Gerd
Gruß Gerd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige