Thema Datum  Von Nutzer Rating
Antwort
26.09.2017 10:17:34 Gast54597
NotSolved
26.09.2017 13:42:47 Gast30772
NotSolved
27.09.2017 08:51:53 Gast54597
NotSolved
27.09.2017 08:54:22 Gast54597
NotSolved
27.09.2017 09:47:27 Gast30772
*****
NotSolved
28.09.2017 09:10:27 Gast54597
NotSolved
Rot Kein Abbruch des Makros falls Hyperlink nicht vorhanden
28.09.2017 12:38:48 Gast30772
NotSolved

Ansicht des Beitrags:
Von:
Gast30772
Datum:
28.09.2017 12:38:48
Views:
593
Rating: Antwort:
  Ja
Thema:
Kein Abbruch des Makros falls Hyperlink nicht vorhanden

Nimm besser die Shapes.Add Methode, ist flexibler

Option Explicit

Sub BesserBilder_Einfuegen()
'
'
Dim Path As String
Dim Func As String
Dim Form As String
Dim i As Integer
Dim j As Integer
Dim oShp As Shape

'wegen Test auskommentiert / geändert **********
Rem Path = "XXX\"
Rem Func = ActiveSheet.Name
Rem Form = ".png"
Form = ".jpg"
'***********************************************
'
i = 2
j = 3

While (i < 180) '18 Zeilen
While (j < 6) ' 3 Spalten

    'Cells(i, j).Select wozu??
   
On Error Resume Next
   
   'einfach mit den Parametern(Pflicht) herumspielen
    Set oShp = ActiveSheet.Shapes.AddPicture( _
      Filename:=Path & Cells(i, j).Value & Func & Form, _
      LinkToFile:=msoFalse, _
      SaveWithDocument:=msoTrue, _
      Left:=Cells(i, j + 3).Left, _
      Top:=Cells(i, j).Top, _
      Width:=Cells(i + 10, j).Top - Cells(i, j).Top, _
      Height:=Cells(i + 10, j).Top - Cells(i, j).Top)
      
  If Err.Number = 0 Then
    'jetzt alle weiteren möglichen Eigenschaften
    With oShp
      'Test (kann natürlich auch der Zellinhalt sein)
      .Name = "Pict " & Cells(i, j).Address(0, 0)
    End With
    'Test++++++++++++++++++++++++++++++++++++++++++++++
   Call MsgBox("Bild " & oShp.Name & vbNewLine & _
               "an Position " & oShp.TopLeftCell.Address, _
               vbInformation, _
               "Gewonnen!")
   End If
   
On Error GoTo 0

    
    j = j + 1
    
Wend

    i = i + 10 'Zeilen immer zu 10. zusammengefasst "Easy Scroling"
    j = 3 'Erste Spalte ist C
Wend


End Sub


Sub Bonus()
'lösche alle Bilder wo der Zelleintrag fehlt
Dim oShp As Shape
Dim arrN() As String

   For Each oShp In ActiveSheet.Shapes
      arrN = Split(oShp.Name, " ")
      If Range(arrN(1)).Value = "" Then
         If MsgBox("Bild " & oShp.Name & vbNewLine & _
               "an Position " & oShp.TopLeftCell.Address, _
               vbQuestion + vbYesNo, _
               "Sicherheitsabfrage!") = vbYes Then oShp.Delete
      End If
   Next oShp

End Sub


 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
26.09.2017 10:17:34 Gast54597
NotSolved
26.09.2017 13:42:47 Gast30772
NotSolved
27.09.2017 08:51:53 Gast54597
NotSolved
27.09.2017 08:54:22 Gast54597
NotSolved
27.09.2017 09:47:27 Gast30772
*****
NotSolved
28.09.2017 09:10:27 Gast54597
NotSolved
Rot Kein Abbruch des Makros falls Hyperlink nicht vorhanden
28.09.2017 12:38:48 Gast30772
NotSolved