Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1016to1020
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

Excel 2003 => 2007 VBA anders

Excel 2003 => 2007 VBA anders
22.10.2008 11:18:00
UweD
Hallo Experten
Ich habe mir mal unter Excel2003 ein Visitenkarten Makro gemacht.
Klappte dort ganz gut.
Jetzt unter Excel2007 gibt es aber Probleme.
Vorher: Wurde die Grafik in Zelle (B der aktuellen Zeile) beginnend angezeigt
Jetzt: immer vorne,oben
Im Code hier:

'Zielzelle aktivieren
        Cells(Target.Row, 3).Select


Vorher: wenn der Name nicht vorhanden war, wurde eine Hinweisgrafik angezeigt und nach 2 sek wieder ausgeblendet.
Jetzt: Läuft erst die Zeit ab, die Grafik blinkt nur kurz auf und ist direkt wieder weg.
Im Code hier:


          ActiveSheet.Pictures.Insert(Pfad & "Unbekannt" & Ext).Name = "Bild"
          Application.Wait Now + TimeSerial(0, 0, 2)
          ActiveSheet.Shapes("Bild").Delete


hier der gesamte Code


Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Dim Pfad$, Bild$, Ext$, Zeile1%, Spalte%, Da$
    '**** Grundeinstellungen ****
    Spalte = 1 '=Spalte A"
    Zeile1 = 2 ' erste Zeile mit Daten
    Pfad = ThisWorkbook.Path & "\" ' Bilddateien liegen im gleichen Verzeichnis
    Ext = ".jpg" ' Endung der Bilddateien
    '**** Grundeinstellungen **** Ende
    If (Target.Column = Spalte Or Target.Column = Spalte + 1) And Target.Row >= Zeile1 Then
        On Error Resume Next
        Cancel = True 'das normale Kontextmenü wird abgebrochen
        'Name des Bildes wird zusammengesetzt
        Bild = Me.Cells(Target.Row, Spalte) & "#" & Me.Cells(Target.Row, Spalte + 1)
        'altes Bild wird gelöscht
        ActiveSheet.Shapes("Bild").Delete
        'Zielzelle aktivieren
        Cells(Target.Row, 3).Select
        'Prüfung ob Bild zu diesem Namen vorhanden ist
        Da = Dir(Pfad & Bild & Ext)
        If Da = "" Then 'Bild fehlt
            ActiveSheet.Pictures.Insert(Pfad & "Unbekannt" & Ext).Name = "Bild"
            Application.Wait Now + TimeSerial(0, 0, 2)
            ActiveSheet.Shapes("Bild").Delete
        Else ' Bild vorhanden
            ActiveSheet.Pictures.Insert(Pfad & Bild & Ext).Name = "Bild"
        End If
    End If
End Sub


Hat jemand eine Idee, woran das liegt?
Ich habe die Datei und mal 3 Beispiel JPG#s angehangen.
https://www.herber.de/bbs/user/56188.zip
Besten Dank im Voraus
UweD

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel 2003 => 2007 VBA anders
23.10.2008 12:42:46
UweD
Hallo
ok. Das mit der TOP und Left Sache läuft gut. Besten Dank
Komisch ist nur, warum das alte Makro unter der alten Ecelversion ging und jetzt auf einmal anders.
Gruß Uwe
AW: Excel 2003 => 2007 VBA anders
23.10.2008 15:19:00
Tino
Hallo,
dies kann bestimmt nur Bill beantworten.
Gruß Tino
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige