Range als Grafik und wieder einfügen

Bild

Betrifft: Range als Grafik und wieder einfügen von: Michael O
Geschrieben am: 21.02.2005 15:42:21

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

Bild


Betrifft: ? von: Reinhard
Geschrieben am: 21.02.2005 15:54:21

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


Bild


Betrifft: AW: ? von: Michael O
Geschrieben am: 21.02.2005 16:29:09

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


Bild


Betrifft: AW: ? von: Reinhard
Geschrieben am: 21.02.2005 18:14:04

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


Bild


Betrifft: AW: ? von: Michael O
Geschrieben am: 22.02.2005 07:55:02

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.


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Range als Grafik und wieder einfügen"