MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 13.08.2019, 11:11   #1
SophieBA
Neuer Benutzer
Neuer Benutzer
Standard VBA - Mehrere Objekte untereinander einfügen

Hallo zusammen,

ich bin auf der Suche nach einem Makro mit dem mehrere Objekte als Symbol in Excel eingefügt werden.
Das Ganze soll so ablaufen, dass mit dem Klick auf einen Button mehrere Dateien (Typ egal) ausgewählt werden können, die dann ab einer bestimmten Zelle untereinander eingefügt werden sollen.

Kann mir da jemand helfen?

Viele Grüße, Sophie
SophieBA ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.08.2019, 11:15   #2
ReginaR
MOF User
MOF User
Standard

Hi, meinst Du den Inhalt der Dateien (wohl kaum, da unterschiedlicher Typ) oder die Dateinamen? Gib mal noch ein paar Infos.

__________________

Gruß
Regina
ReginaR ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.08.2019, 11:18   #3
SophieBA
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo,

ich meine, dass Objekte als Symbol eingefügt werden können.
(Normalerweise über den Pfad Einfügen -> Objekte -> Aus Datei erstellen -> Als Symbol einfügen)
mit Dateiname wäre super

Hilft das?
SophieBA ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.08.2019, 11:31   #4
ReginaR
MOF User
MOF User
Standard

ok, verstanden. Ich baue Dir mal was zurecht

__________________

Gruß
Regina
ReginaR ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.08.2019, 11:31   #5
Mase
MOF Koryphäe
MOF Koryphäe
Standard

Hi,

irgendwie kommt mir das bekannt vor.
Ist das hier das einzige Forum in dem Du die Anfrage stellst?

__________________

gruß
Marco
Mase ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.08.2019, 11:45   #6
SophieBA
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Ja die Frage stelle ich hier zum ersten Mal.

Google hat mir bei dem Problem leider nicht weiterhelfen können...
SophieBA ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.08.2019, 11:53   #7
ReginaR
MOF User
MOF User
Standard

Hi,
schau Dir mal die Mappe im Anhang an. Mit Klick auf das Button kannst Du bei gedrückter Strg-Taste mehrere Dateien auswählen. Diese werden Dir dann utereinander in dre Spalte A als Symbole angezeigt.
Ein mögliches Problem: Evtl. sind die Pfade zu den symbolen auf deinem System andere (Siehe Function Symbol_pfad), dann musst Du die Aktionfür die jeweilige Dateiart mal mit dem Recorder aufzeichnen und den korrekten Pfad ermitteln.

Gib mal Rückmeldung, ob das klappt.
Angehängte Dateien
Dateityp: xlsm Symbole_auflisten.xlsm (20,4 KB, 4x aufgerufen)

__________________

Gruß
Regina
ReginaR ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.08.2019, 13:10   #8
SophieBA
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Regina,

das klappt wirklich super!

Gibt es eine Möglichkeit dass das Makro erkennt, dass z.B. in der 3.Zeile schon ein Objekt eingefügt wurde? Falls der Button mehrmals verwendet wird.

Lieben Dank!
SophieBA ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.08.2019, 15:11   #9
ReginaR
MOF User
MOF User
Standard

Hi,
habe ich Dir eingebaut. Es werden zunächst die vorhandene Shapes gezählt, dazu gehören auch die Schaltflächen. Sollte Dein Blatt später mehr als eine Schaltfläche beinhalten, musst Du an der im Code gekennzeichneten Stelle den Vergleichswert hochsetzen.
Angehängte Dateien
Dateityp: xlsm Symbole_auflisten.xlsm (20,8 KB, 3x aufgerufen)

__________________

Gruß
Regina
ReginaR ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.08.2019, 16:33   #10
SophieBA
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Regina,

an sich funktioniert es aber ich wollte es so anpassen, dass die Objekte ab E24 eingefügt werden. Leider werden die Objekte erst ab E124 eingefügt.
In dem aktiven Tabellenblatt sind 2 Schaltflächen..

Was mache ich falsch?:

Public Sub Einfuegen_dateinamen()
Dim dlg As Object
Dim lng_zeile As Long
Dim lng_zaehler As Long
Dim str_symbol As String

If ActiveSheet.Shapes.Count = 2 Then ' falls im Blatt mehr als eine Schaltfläche ist, hier den Vergleichswert hochsetzen
lng_zeile = 24
Else
lng_zeile = 24 + ((ActiveSheet.Shapes.Count - 1) * 4)
End If

Set dlg = Application.FileDialog(msoFileDialogFilePicker)
dlg.ButtonName = "Dateien auswählen"

If dlg.Show Then
For lng_zaehler = 1 To dlg.SelectedItems.Count
str_symbol = Symbol_pfad(Right(dlg.SelectedItems(lng_zaehler), Len(dlg.SelectedItems(lng_zaehler)) - InStr(1, dlg.SelectedItems(lng_zaehler), ".")))
ActiveSheet.OLEObjects.Add(Filename:=dlg.SelectedItems(lng_zaehler), _
Link:=False, DisplayAsIcon:=True, IconFileName:= _
str_symbol, _
IconIndex:=0, IconLabel:=dlg.SelectedItems(lng_zaehler)).Select
Selection.Top = Cells(lng_zeile, 5).Top
Selection.Left = Cells(lng_zeile, 5).Left
lng_zeile = lng_zeile + 4
Next
End If

End Sub


Vielen Dank!!
SophieBA ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.08.2019, 21:04   #11
ReginaR
MOF User
MOF User
Standard

Hi,
124 kann ich nicht nachvollziehen ....

Ich bin bei der Kommentierung etwas zu knapp gewesen. Du musst nicht nur den Grenzwert sondern auch die Berechnung anpassen:

Code:

If ActiveSheet.Shapes.Count = 2 Then ' falls im Blatt mehr als eine Schaltfläche ist, hier den Vergleichswert hochsetzen
lng_zeile = 24
Else
lng_zeile = 24 + ((ActiveSheet.Shapes.Count - 2) * 4)
End If
Wenn die Objekte immer noch an falscher Stelle erscheinen, müsstest Du mal die Datei hochladen.

__________________

Gruß
Regina
ReginaR ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.08.2019, 07:54   #12
ReginaR
MOF User
MOF User
Standard

... Nachtrag:
Sind da außer den Schaltflächen noch andere Shapes (Grafiken) o.ä. auf dem Blatt, die evtl. mitgezählt werden?

__________________

Gruß
Regina
ReginaR ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.08.2019, 10:40   #13
SophieBA
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Danke...

Ja da sind ziemlich viele Optionbuttons und Checkboxen...
SophieBA ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.08.2019, 14:18   #14
ReginaR
MOF User
MOF User
Standard

ah ok!
Dann musst Du ermitteln wie viele davon von Excel als Shapes gewertet werden und diese entsprechend abziehen.

Füge mal oberhalb der if-Abfrage folgende zeile ein:

msgbox activesheet.shapes.count

Die zahl musst Du dann in der ersten zeile der if-Konstruktion und in der berechnung eintragen.

__________________

Gruß
Regina
ReginaR ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.08.2019, 13:05   #15
SophieBA
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Jetzt ist es perfekt!! Hast mich gerettet
SophieBA ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:11 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.