Microsoft Excel

Herbers Excel/VBA-Archiv

"Bild von Excel-Kamara" variabel...

Betrifft: "Bild von Excel-Kamara" variabel... von: Carsten
Geschrieben am: 12.08.2008 10:33:28

Hi Experten,
einen Bereich (Zellen, Bild, Grafik...) mit der Excel-Kamara "fotografieren" und in eine andere Excelmappe einfügen ist kein Problem.
Bei mir werden Ecxel_Vorlagen ausgefüllt und unter fortlaufender Dateinummer abgespeichert, zB. QR000123, QR000124, QR000125 usw. Alle Dateien enthalten an der gleichen Stelle ein Bild.
Ich möchte immer die letzten 4 aktuellen Bilder in einer seperaten Excel-Datei darstellen.

=[QR000356.xls]Bild_Skizze_Beschreibung!$A$4:$H$47 (bei geöffneter Quelle)

habe versucht QR000356.xls als Variable (erzeuge ich als Max im Fed A5) eizufügen geht aber nicht!!!

=VERKETTEN("QR";RECHTS(VERKETTEN("000000";A4);6);".xls") ergibt QR000356.xls im Feld A5

Was mache ich falsch? Geht der weg überhaupt so? Benötige ich evt. VBA?

  

Betrifft: AW: "Bild von Excel-Kamara" variabel... von: Daniel
Geschrieben am: 12.08.2008 10:48:35

Hi

"Variable Zellbezüge" gehen über die INDIREKT-Funktion:

=Indirekt("[QR000356.xls]Bild_Skizze_Beschreibung!$A$4:$H$47";WAHR)

allerdings funktioniert das nur, wenn die andere Datei geöffnet ist.
indirekte Bezüge auf geschlossene Dateien funktionieren nicht.

Gruß, Daniel


  

Betrifft: AW: "Bild von Excel-Kamara" variabel... von: Carsten
Geschrieben am: 12.08.2008 13:23:49

Hallo Daniel,
danke für die Antwort aber die Datein in den die Bilder stecken sind geschlossen.... also geht so nicht
Gruß
Carsten


  

Betrifft: AW: "Bild von Excel-Kamara" variabel... von: fcs
Geschrieben am: 12.08.2008 13:56:38

Hallo Carsten,

den Bereich des Kamera-Bildes kann man nicht per Formel dynamisieren. Auch nicht mit der Funktion INDIREKT. Es muss zwingend ein Tabellen-Bereich oder Bereichsname angegeben werden.

Lösung per VBA ist prinzipiell möglich, allerdings muss zum Aktualisieren der Verknüpfung auch immer die Ursprungsdatei geöffnet werden.

Nachfolgend ein Beispiel für die Anpassung der Formel für 4 Kamerabilder (Namen: Bild 1 bis Bild 4). Die Quelldatei muss dabei vor der Ausführung geschlossen bleiben oder ggf. muss noch eine if-Bedingung eingefügt werden.

Gruß
Franz

Sub BilderAktualisieren()
'
    Dim varPfad, varDatei, lngNr As Long, intI As Integer, wbQuelle As Workbook
    varPfad = "C:\Lokale Daten\Test\" 'Verzeichnis der Quelldateien
    lngNr = Range("A4") 'Zelle mit Max-Nummer
    'Bild 1 bis Bild 4 aktualisieren
    For intI = 1 To 4
      varDatei = "QR" & Format(lngNr - intI + 1, "000000") & ".xls"
      ActiveSheet.Shapes("Bild " & intI).Select
      Selection.Formula = "'" & varPfad & "[" & varDatei & "]Tabelle1'!$A$6:$C$12"
      Set wbQuelle = Workbooks.Open(Filename:=varPfad & varDatei, ReadOnly:=True)
      wbQuelle.Close savechanges:=False
    Next
    Set wbQuelle = Nothing
End Sub