Office: (Office 2007) Bilder über Maske einfügen

Helfe beim Thema Bilder über Maske einfügen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Guten Tag zusammen, ich hoffe, dass ihr mir mit meinem Problem weiterhelfen könnt. Ich habe eine UserForm erstellt, in der in die TextBox1 ein... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von kabumdada, 7. April 2015.

  1. kabumdada Erfahrener User

    Bilder über Maske einfügen


    Guten Tag zusammen,

    ich hoffe, dass ihr mir mit meinem Problem weiterhelfen könnt.

    Ich habe eine UserForm erstellt, in der in die TextBox1 ein Variantenname eingegeben werden kann.
    Dieser wird dann abgeglichen mit den Namen die in A1 bis AZ1 stehen.
    Bis hierher kein Problem.
    Danach erscheint ein neuer Button (CommandButton1). Wenn man auf diesen klickt, soll der neue, noch nicht vorhandene Name an die nächste freie Stelle eingetragen werden (z.b. : letzter vorhandener Name auf AH1, dann soll neuer Name auf AI1 eingetragen werden).
    Der Code den ich bisher habe sieht folgendermaßen aus:
    Code:
    Private Sub CommandButton1_Click()
        Range(Cells("1", Columns.Count).End(xlUp).Columns + 1 & "1") = TextBox1.Text
            MsgBox "Die neue Variante  """ & TextBox1.Value & """  wurde erfolgreich angelegt.", _
                64, "   Information für " & Application.UserName                                    'Information mit Messagebox
        TextBox1.Text = ""
    End Sub
    Dabei kommt allerdings in der 2. Zeile bei dem Range der Laufzeitfehler 1004:
    Die Methode Range für das Objekt _Global ist fehlgeschlagen.
    Könnt ihr mir helfen wo dort der Fehler ist?

    Meine 2. Frage ist ob mir jemand sagen kann ob es möglich ist, das man ein Bild aus einem Ordner auswählen kann, und dieses dann direkt unter den neuen Namen (AI2) in einer bestimmten Abmessung eingesetzt wird?

    Vielen Dank schonmal

    Mfg Kabumdada
     
    Zuletzt bearbeitet: 7. April 2015
    kabumdada, 7. April 2015
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi,

    zu Frage 1: ich nehme folgendes an - du benutzt 1 als String, indem du sie in die Anführungszeichen setzt: "1", es werden aber Zahlen erwartet. Und was du mit dem Teil & "1" bezweckst ist mir schleierhaft.

    zu Frage 2: zeichne den Code mit dem Makrorekorder auf


    Bis später,
    Karin
     
    Beverly, 7. April 2015
    #2
  3. kabumdada Erfahrener User
    Vielen Dank schonmal für die Antwort.

    Das "&1" war natürlich n Fehler meinerseits.
    Ich habe den Code jetzt nochmal umgeschrieben aus Erfahrungen die ich gemacht hab und andren Forenbeiträgen die ich gefunden hab.
    Hier der Code :
    Code:
    Private Sub CommandButton1_Click()
        Range("A" & Cells(Rows.Count, "A").End(xlUp).Row + 1) = TextBox1.Text
            MsgBox "Die neue Variante  """ & TextBox1.Value & """  wurde erfolgreich angelegt.", _
                64, "   Information für " & Application.UserName                                    'Information mit Messagebox
        TextBox1.Text = ""
        
        Range("B" & Cells(Rows.Count, "B").End(xlUp).Row + 1).Select
        'Range("B35").Select
    On Error Resume Next
    Dim ObjektDLG As Dialog
    Set ObjektDLG = Application.Dialogs(xlDialogInsertPicture)
        ObjektDLG.Show
        Selection.ShapeRange.LockAspectRatio = False
        Selection.ShapeRange.Height = 250
        Selection.ShapeRange.Width = 130
        Selection.ShapeRange.Rotation = 0#
    End Sub
    
    Private Sub CommandButton2_Click()
        UserForm3.Hide
        TextBox1.Text = ""
        Label1.Caption = "Variantenüberprüfung"
        CommandButton1.Visible = False
        Image1.Visible = False
        CommandButton4.Visible = False
        TextBox2.Visible = False
        Label3.Visible = False
        Image1.Picture = LoadPicture()
    End Sub
    
    Private Sub CommandButton3_Click()
        If Trim(TextBox1.Value) = "" Then
          MsgBox "Bitte geben Sie einen gültigen Wert in die TextBox ein - danke.", _
             16, "   Hinweis für " & Application.UserName
          TextBox1.SetFocus
        Else
          If Application.WorksheetFunction.CountIf(Range("Bilder!A1:A1000"), TextBox1.Value) > 0 Then
             MsgBox "Die Variante  """ & TextBox1.Value & """  ist bereits vorhanden.", _
                16, "   Information für " & Application.UserName
    
           Else
                Label1.Caption = "Neue Variante anlegen"
                CommandButton4.Visible = True
          End If
       End If
    End Sub
    
    Private Sub CommandButton4_Click()
    Dim fdDialog As FileDialog
        Set fdDialog = Application.FileDialog(msoFileDialogFilePicker)
        With fdDialog
            .Filters.Clear
            .Filters.Add "Bilddateien", "*.gif; *.jpg; *.jpeg; *.bmp; *.gif; *.png", 1
            If .Show = -1 Then TextBox2.Text = .SelectedItems(1)
        End With
        Set fdDialog = Nothing
        Image1.Picture = LoadPicture(TextBox2.Value)
        Image1.PictureSizeMode = fmPictureSizeModeStretch
        Image1.Visible = True
        CommandButton1.Visible = True
        TextBox2.Visible = True
        Label3.Visible = True
    End Sub
    Das eigentliche Problem was ich jetzt noch habe, ist das ich nicht wirklich weiß, wie ich jetzt das Bild, was ich bei CommandButton4_Click einfüge in CommandButton1 einsätze. Mir ist zwar bewusst, warum dort nochmal der Dialog aufgeht aber ich weiß nicht wie ich es anders/besser lösen kann.

    Desweiteren Funktioniert diese Zeile nicht richtig :
    Code:
        Range("B" & Cells(Rows.Count, "B").End(xlUp).Row + 1).Select
    Es wird das Bild zwar platziert, allerdings in B1 obwohl bis B34 schon alle Plätze belegt sind. Gibt es eine Funktion um zu sagen diese Zelle ist belegt?

    Vielen Dank euch nochmal

    Mfg Kabumdada
     
    kabumdada, 7. April 2015
    #3
  4. Beverly
    Beverly Erfahrener User

    Bilder über Maske einfügen

    Irgendwie komme ich da jetzt nicht mehr mit - weshalb soll das Bild in ein Image eingefügt werden? Genau das macht der Code für CommandButton4_Click.

    Mit dem Code für CommandButton1 wird das Bild doch richtigerweise ins Tabellenblatt eingefügt - du musst es nur noch an die betreffende Stelle platzieren:
    Code:
        Dim ObjektDLG As Dialog
        Set ObjektDLG = Application.Dialogs(xlDialogInsertPicture)
        ObjektDLG.Show
        With ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
            .LockAspectRatio = False
            .Height = 250
            .Width = 130
            .Rotation = 0#
            .Top = Cells(Cells(Rows.Count, "B").End(xlUp).Row, 2).Top
            .Left = Columns(2).Left
        End With



    Was meinst du mit "Zelle belegt" - ob darauf ein Bild liegt oder ob die Zelle einen Inhalt hat?

    Bis später,
    Karin
     
    Beverly, 7. April 2015
    #4
  5. kabumdada Erfahrener User
    Vielen Dank für die Antwort.

    Das Image hab ich eingefügt, weil ich es so machen will, dass man auf Button4 klickt und sich dann das Fenster öffnet um ein Bild auszuwählen. Wenn man es ausgewählt hat, soll es in dem Image der UserForm angezeigt werden (wie eine voranzeige).
    Danach soll man auf Button1 Klicken und erst dann soll das Bild in dem Sheet gespeichert werden. Bisher bekomm ich es aber nur so hin das wenn man auf Button4 klickt sich dieses Fenster öffnet und bei Button1 ebenso.

    Mit dem belegen der der Zellen meine ich, das er aus irgendeinem Grund die Bilder immer in B2 abspeichert egal wie oft ich es versuch und das obwohl eigentlich B1 bis B34 schon belegt sind.

    Danke für eure Mühe

    Mfg Kabumdada
     
    kabumdada, 8. April 2015
    #5
  6. Beverly
    Beverly Erfahrener User
    Du hast meine Frage bezüglich Spalte B nicht beantwortet, also kann ich nur raten: in Spalte B sind keine Zellinhalte vorhanden. Folglich musst du die erste freie Zeile nicht in Spalte B sondern in einer anderen Spalte ermitteln: in Spalte A, da du in Spalte A ja bereits etwas einträgst und die Zellen gefüllt sind - in meinem Code also "B" durch "A" ersetzen.

    Bis später,
    Karin
     
    Beverly, 8. April 2015
    #6
  7. kabumdada Erfahrener User
    Vielen Dank :) hat funktioniert.

    Das belegt meinte ich, dass dort schon Bilder vorhanden sind, welche ich aber von "Hand" eingefügt habe. Ich weiß nicht ob Excel dann nicht anerkennt das dort die Zelle schon gefüllt ist.

    Hast du noch einen Lösungsansatz für mein Problem mit den 2 Buttons? Das ich einen zum Bild auswählen habe und einen zum Bild anlegen?
     
    kabumdada, 8. April 2015
    #7
  8. Beverly
    Beverly Erfahrener User

    Bilder über Maske einfügen

    Bilder/Grafiken/Shapes liegen immer AUF den Zellen nicht IN den Zellen - somit kann Excel nicht feststellen, dass die Zellen "belegt" sind. Dazu müsstest du in einer Schleife über alle vorhandenen Shapes laufen und prüfen, ob die Oberkante mindestens eines Shapes > als die Oberkante der ersten freien Zeile ist. Was jedoch wiederum nichts bringt, wenn du die erste freie Zeile in Spalte B ermittelst, da diese Zellen nicht durch die Bilder belegt sind sondern leer.

    Dein 2. Problem würde ich nach diesem Prinzip lösen:

    Code:
    Private Sub CommandButton1_Click()
       Dim strBild As String
       Dim fdDialog As FileDialog
       Set fdDialog = Application.FileDialog(msoFileDialogFilePicker)
       With fdDialog
          .Filters.Add "Bild-Dateien", "*.gif; *.jpg; *.jpeg; *.bmp; *.gif; *.png", 1
          .InitialFileName = "D:\Bilder\"
          .Title = "Bitte Datei auswählen"
          .AllowMultiSelect = False         '<== Achtung!! kein Multiselect
          .ButtonName = "Auswahl"
          If .Show = -1 Then
             strBild = .SelectedItems(1)
          End If
       End With
       If strBild <> "" Then
          Image1.Picture = LoadPicture(strBild)
          With ActiveSheet.Pictures.Insert(strBild)
            .Left = 250
            .Top = 20
            .ShapeRange.Height = 100
          End With
       End If
       Set fdDialog = Nothing
    End Sub
    

    Deine weiteren Anpassungen kannst du sicher in dem geposteten Code unterbringen.


    Bis später,
    Karin
     
    Beverly, 8. April 2015
    #8
  9. kabumdada Erfahrener User
    Vielen Dank für deine Hilfe, ich hab es jetzt etwas anders gelöst als ich wollte aber es Funktioniert so wie es soll :).

    Ich hab allerdings noch eine Frage, und zwar habe ich folgenden Code :
    Code:
    If Wert3 = "Variante3b" Or Wert3 = "Variante6" Or Wert3 = "Variante18" Or Wert3 = "Variante24" Or Wert3 = "Variante28" Or Wert3 = "ReserveLi" Or Wert3 = "ReserveRe" Then             'Bild3&4
        WKS5.Shapes("Bild 3").Width = 130
        Else
        WKS5.Shapes("Bild 3").Width = 265
    Dieser Funktioniert auch einwandfrei. Da jetzt aber vom Nutzer neue Werte hinzugefügt werden sollen und diese automatisch in den Vergleich aufgenommen werden sollen habe ich es folgendermaßen probiert :
    Code:
    Wert1 = WKS1.Range("J6").Value
    
    If Application.WorksheetFunction.CountIf(WKS3.Range(WKS3.Cells(8, 1), WKS3.Cells(8, 8)), Wert1) > 0 Then
            WKS5.Shapes("Bild 10").Width = 130
        Else
            WKS5.Shapes("Bild 10").Width = 265
        End If
    Nun mein Problem:
    Selbst wenn Wert1 ein Wort aus der Liste ist, springt die Funktion automatisch in die Else Bedingung und das Bild hat dauerhaft die Breit 265.

    Kannst du mir helfen und sagen wo mein Fehler ist?

    Vielen Dank schonmal.

    Mfg Kabumdada
     
    kabumdada, 9. April 2015
    #9
  10. Beverly
    Beverly Erfahrener User
    Da ich deine Mappe nicht kenne, kann ich nur raten: der Wert in J6 ist anderes geschrieben als im Bereich A8:H8.

    Bis später,
    Karin
     
    Beverly, 9. April 2015
    #10
  11. kabumdada Erfahrener User
    Guten Tag,

    der Bereich ist H1 bis H8, das Wort das in diesem Bereich steht, wird automatisch auf die Zelle J6 im anderen Tabellenblatt übernommen (Mittels Namen und Datenüberprüfung als Dropdown).

    In H1 bis H8 stehen folgende Werte:

    ReserveLi, ReserveRe, Varainte3b, Variante6, Variante22, Variante24 und Variante 28

    In der Dropdownliste stehen folgende Werte zur verfügung :

    ReserveLi, ReserveRe und Variante1 bis Variante30

    Wenn jetzt ein Wert ausgewählt wird, der im Bereich H1 bis H8 im Sheet3 steht, dann soll eben in der If anweisung die erste Bedingung gewählt werden und sonst die Else Bedingung.

    Ich kann die Excel Datei leider nicht Hochladen, da die schon ne Größe von 1,4MB hat.
    Das die Werte stimmen, hab ich schon mit dem Debugger überprüft.

    Das sind meine Variablen deklarationen falls die falsch sein sollten :
    Dim Wert1 As String
    Dim WKS1 As Worksheet 'Tabellenblatt 1

    Ich hoff du hast noch ne andere Idee?
    Mfg Kabumdada
     
    kabumdada, 9. April 2015
    #11
  12. kabumdada Erfahrener User
    Vielen Dank :) hab durch deinen Post grade noch gemerkt das ich den Bereich Falsch definiert habe (Zahlendreher).

    Hat sich also erledigt, jetzt klappt alles.

    Vielen, vielen Dank :)

    Mfg Kabumdada
     
    kabumdada, 9. April 2015
    #12
Thema:

Bilder über Maske einfügen

Die Seite wird geladen...
  1. Bilder über Maske einfügen - Similar Threads - Bilder Maske einfügen

  2. Bilder in Zelle mit Autofilter mitverschieben!

    in Microsoft Excel Hilfe
    Bilder in Zelle mit Autofilter mitverschieben!: Hallo Excel Kollegen! Ich habe folgendes Problem. Ich füge per vba ein PDF Symbol als .jpg Datei ein. Soweit funktioniert alles. Wenn ich aber diese Tabelle mit dem Autofilter filtere bleibt das...
  3. Bild in Kopfzeile schützen

    in Microsoft Word Hilfe
    Bild in Kopfzeile schützen: Hi Leute, Ich bräuchte bitte mal euere Hilfe. Ich nun einige Zeit erfolglos versucht, eine Word Vorlage zu erstellen, wo die Kopfzeile & Fusszeile schreibgeschützt ist. Damit keiner mehr etwas...
  4. Comboox Bilder

    in Microsoft Excel Hilfe
    Comboox Bilder: Hallo Leute Habe in der Userform eine Combobox eingebaut. Wenn ich auf die Combobox klicke erscheint das gewünschte Bild. Wie kann ich ein zweites Bild aufrufen? Also es darf immer nur ein Bild...
  5. "dynamisches Bild" in Excel

    in Microsoft Excel Hilfe
    "dynamisches Bild" in Excel: Hallo Leute, ich verzweifele bald, ich versuche seit heute morgen es hinzubekommen (hab eine Beispieltabelle erzeugt auf die ich mich jetzt direkt beziehe), dass ich in der A2 Zelle per Dropdown...
  6. Eingefügtes Bild in einer Tabelle verschiebt den Text

    in Microsoft Word Hilfe
    Eingefügtes Bild in einer Tabelle verschiebt den Text: Guten Abend, ich habe eine Tabelle, die aus einem einzigen Feld besteht und in diesem Feld steht ein Zahl. Die Tabelle hat das Layout, dass der Text "zentriert ausgerichtet" ist. Die Zahl...
  7. Bilder einfügen

    in Microsoft Access Hilfe
    Bilder einfügen: Hallo, ich habe mir aus einer Vorlage, mit viel Mühe und herum experimentieren, etwas zusammen gebastelt Bin soweit auch mit dem Werk zufrieden (für jemanden die keine Ahnung hat) ist es okay,...
  8. Funktion Bild

    in Microsoft Excel Hilfe
    Funktion Bild: ich versuche seid einigen Stunden die neue Funktion =BILD("https://cdn.prod.www.spiegel.de/images/dcb32d12-0001-0004-0000-000001139620_w948_r1.778_fpx45.4_fpy52.84.webp") Die URL über datenmaske...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden