Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
572to576
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
572to576
572to576
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Range als Grafik und wieder einfügen

Range als Grafik und wieder einfügen
21.02.2005 15:42:21
Michael
Hallo Ihr listigen :-)
ich versuche jetzt schon seit Stunden einen Bereich (1 Zeile hoch x Zeile lang)
zu per VBA zu verschieben.
z. B
In einer Tabelle sind die Zellen D8 bis G8 blau gefüllt.(es kann auch irgendeine Farbe sein)
Dieser Bereich soll jetzt frei verschoben werden können, auf z. B. L8 bis N8
(also die Zeile bleibt immer gleich).
Aber ich komme auf keine Lösung. Ich habe jetzt schon den ersten Bereich kopiert und als Grafik wieder eingefügt, aber beim verschieben der Grafik kann ich nicht feststellen wo auf dem Blatt ich mich befinden. Ich muss nämlich hinterher den Zeilen- und Spaltewert der Grafik habe.
Wie komm ich also an die Zeilen und Spaltenwerte der Grafik? oder gibt es einen anderen Weg (ohne Grafik) diesen Bereich zu erkennen und zu verschieben?
Schon mal Danke für die Hilfe
Gruß
Michael O.

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim x, y, x1, länge As Integer
Dim farbwert, farbe As Double
Dim test As Variant
x = Target.Row
y = Target.Column
länge = y
farbe = Cells(x, länge).Interior.Color
farbwert = Cells(x, länge).Interior.Color
If farbwert = 16777215 Then Exit Sub
While farbe = farbwert
farbe = Cells(x, länge).Interior.Color
Cells(x, länge).Interior.Pattern = xlGrid
länge = länge + 1
Wend
Cells(x, länge - 1).Clear
With ActiveSheet
' Bereich fotografieren
.Range(Cells(x, y), Cells(x, länge - 2)).CopyPicture _
Appearance:=xlScreen, _
Format:=xlPicture
' Bild an gleicheinfügen
Range(Cells(x, y), Cells(x, länge)).Clear
.Paste _
Destination:=ActiveSheet.Range(Cells(x, y), Cells(x, länge))
End With
End Sub

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

Betreff
Datum
Anwender
  • ?
    Reinhard
  • 21.02.2005 16:29:09
    Michael
  • Reinhard
  • 22.02.2005 07:55:02
    Michael
Anzeige
?
Reinhard
Hi Michael,
...einen Bereich (1 Zeile hoch x Zeile lang)...
würde ich so beschreiben:
einen Bereich (1 Zeile hoch x Spalten lang) *g
Also du hast da einen farbigen Spaltenbereich in Zeile 8, also als Beispiel den Bereich D8:G8.
Schön.
Und nun, was willst du machen?
Auf Grund welches Ereignisses soll der Bereich "verschoben" werden nach L8:N8.
Was schon mal nicht geht da man schlecht einen 4Zelligen Bereich in einen dreizelligen Bereich reinpressen kann.
Also klär mich/uns mal genauer auf was du eigentlich vorhast.
Gruß
Reinhard
AW: ?
21.02.2005 16:29:09
Michael
Also dieser farbige Bereich soll jetzt verschoben werden (mit der Maus) in den Bereich ab
Spalte N also N,O,P,R. Ich nehme also die von mir erzeugte Grafik aus D8... und schiebe Sie mit der Maus nach N8... dort soll dann aus der Grafik wieder ein gefüllter Zellbereich werden. Da ich zwingend den Start und Endwert des farbigen Bereiches haben muss.
Nochmal zu Verdeutlichung: (wir gehen immer von Zeile 8 aus)
In Spalte 2 steht die erste Spalte des farbigen Bereiches (4) für D
In Spalte 3 steht die lezte Spalte des farbigen Bereiches (7) für G
nach dem verschieben nach (N8...)sollen also in Spalte 2 (14) für N
und in Spalte 3 (17) für Q
stehen.
Diese Balken stehn als Visualisierung einiger Vorgänge
(Kalenderwochen/Urlaub oder ähnliches). Die Mitarbeiter die diese Tabelle benutzen sollen/wollen nicht immer die KW eingeben sondern den geplanter Urlaub einfach verschieben und ich bekommen in Spalte 2 und 3 dann die KWs angezeigt.
Ist es so klarer was ich machen will ?
Gruß
Michael Oloth
Anzeige
AW: ?
Reinhard
Hi Michael,
heute ist sicher nicht ein Tag den ich mir im Kalender mit erhöhtem Durchblickvermögen meinerseits ankreuzen werde :-)
Ich versuch mal zu beschreiben was ich kapiert habe.
In einer Zeile hast du Werte stehen.
Aus einem 4zellligem Block bildest du eine Grafik, worin man den Inhalt der 4 Zellen sehen kann, und der Block ist farbig.
Nun kann man den Block innerhalb der Zeile verschieben (soll verhindert werden dass man die Grafik mit der Maus in eine andere Zeile schiebt?).
Dann steht die Grafik über 4 anderen zellen und gibt deren Inhalt wieder.
In Spalte 2 und 3 der Zeile stehen immer, automatisch aktualisiert, die Adressen der Anfangs- und Endzelle des Viererblocks über der die Grafik steht.
Sind es immer die Bereiche D:G und N:Q ?
Ist es das was du meinst?
Gruß
Reinhard
Anzeige
AW: ?
22.02.2005 07:55:02
Michael
Also nochmal zur Erläuterung:
In Spalte 2 mit der Überschrift "Urlaubsbeginn" steht die erste Spalte des Blocks (4) für Spalte D
In Spalte 3 mit der Überschrift "Urlaubsende" steht die letzte Spalte des Blocks (7) für Spalte G. D.h der Urlaub ist 4 Wochen lang!!! kann aber auch 3 Wochen sein, oder nur 1 ist immer unterschiedlich.
Dieser Block D:G ist z.b Blau gefüllt. Damit ich ihn aber verschieben kann, muss ich ihn in eine Grafik umwandeln. Die Frage ist!! Wie bekommen ich die Spaltenwerte der Grafikposition.
Ich habe mal die Datei hochgeladen
https://www.herber.de/bbs/user/18487.xls
Man klickt also die erste Zelle des farbigen Bereiches an. Es wird eine Grafik erzeugt.Die zu verschieben ist.
Gruß
Michael O.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige