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

@Chaos: gibt doch ein kleines Prob ;o)

@Chaos: gibt doch ein kleines Prob ;o)
05.10.2007 13:47:00
popi
Ich nochmal,
habe den Code soweit auf meine 5 Grafiken angepasst.
Aber leider fällt mir noch was auf.
Ich nutze das z.B in einer Tabelle mit Rahmen und da die Grafiken keinen Rahmen haben, wird die Formatierung der ursprünglichen Tabelle zerschossen.
Jetzt könnte ich natürlich einen Rahmen um die Grafik machen, das aber geht wiederrum bei Zellen nicht, die keinen Rahmen haben.
Kann man den Kopiervorgang ohne formatierung duchführen, also sowas wie:
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Ich bin mir nicht sicher, ob das das richtige ist und wie man das denn überhaupt einbindet.
Danke im voraus.
Grüße
popi
Dein Code auf meine Datei angepasst:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("F:F")) Is Nothing Then
On Error GoTo ErrorHandler
Dim ro As Long
If Target.Value = 1 Then
ro = Target.Row
Worksheets("grafik").Range("A1").Copy Sheets(1).Range("F" & ro)
End If
If Target.Value = 2 Then
ro = Target.Row
Worksheets("grafik").Range("A2").Copy Sheets(1).Range("F" & ro)
End If
If Target.Value = 3 Then
ro = Target.Row
Worksheets("grafik").Range("A3").Copy Sheets(1).Range("F" & ro)
End If
If Target.Value = 4 Then
ro = Target.Row
Worksheets("grafik").Range("A4").Copy Sheets(1).Range("F" & ro)
End If
If Target.Value = 5 Then
ro = Target.Row
Worksheets("grafik").Range("A5").Copy Sheets(1).Range("F" & ro)
End If
End If
ErrorHandler:
End Sub


9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: @Chaos: gibt doch ein kleines Prob ;o)
05.10.2007 14:12:00
Chaos
Servus Popi,
probier's aus, ich weiß auch nicht genau, ich hab mit diesem Befehl noch nie gearbeitet (xlPasteAllExceptBorders) Müsste dann ungefähr so aussehen:
If Target.Value = 1 Then
ro = Target.Row
Worksheets("grafik").Range("A1").Copy
Sheets(1).Range("F" & ro).PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End If
Gruß
Chaos

ER IST DOCH DA !!! ;o)
05.10.2007 14:15:00
popi
... hallo chaos, das geht leider nicht.
gibts nicht sowas wie copyspecial...?
grüße
popi

AW: ER IST DOCH DA !!! ;o)
05.10.2007 14:23:35
Chaos
Ich weiß,
hab's ausprobiert. Keine Grafik, dafür aber auch keine zerstörte Formatierung.
Ich muss nachdenken, ob es noch eine andere Möglichkeit gibt.
Gruß
Chaos

Anzeige
eine Idee ?!
05.10.2007 14:36:00
popi
könnte man nicht zuvor den rahmenzustand der zelle speichern und nach dem kopiervorgang wieder zurückschreiben?
wenn nicht brauchst du nicht zu antworten. lieber energie für lösung sparen ;o)
grüße
popi

AW: noch keine!
05.10.2007 15:08:04
Chaos
.

AW: noch keine!
05.10.2007 15:53:05
Chaos
Servus Popi,
mir fällt gerade nichts ein und ich hab eher wenig Zeit. Vielleicht geht es, wenn man das Shape direkt kopiert (also nicht die Zelle). Dann muss man das über den Bildindex ansprechen.
Ich stell mal auf offen.
Gruß
Chaos

trotzdem vielen dank für die bisheige mühe
05.10.2007 15:55:02
popi
ot

AW: trotzdem vielen dank für die bisheige mühe
05.10.2007 16:19:00
Chaos
Hab doch was,

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("$A$1").Value = 1 Then
Sheets(2).Activate
Sheets("Tabelle2").Pictures("Bild 5").Select
Selection.Copy
Sheets("Tabelle1").Select
Range("A1").Select
ActiveSheet.Paste
End If
End Sub


Jetzt mal nur für A1. Wenn man das Bild direkt kopiert, dann bleibt die Formatierung erhalten. Nachteil man muss mit Select arbeiten (etwas langsamer).
Das Bild (Index) kriegst du am besten über Selektierung des Bildes und dann auf Einfügen/Namen/Definieren heraus.
Damit das Umschalten nicht auffällt, einfach Application.ScreenUpdating = False eingeben, aber anschließend wieder auf True setzen!!!
Gruß
Chaos

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige