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

image-pfad

image-pfad
rolf
hallo
der pfad für das anzeigen des bildes kann in diesem makro nur in b2 gefunden werden.
ich würde gerne das makro bild anzeigen,so ändern,
das der pfad hinter jedem namen gefunden wird.
zb. wenn ich den richtigen namen gefunden habe,nur noch in der listbox mit einen doppel klick bestätigen muss. lade noch ein beispiel hoch.
mfg rolf

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: image-pfad
14.05.2010 08:31:38
fcs
Hallo Rolf,
wie oft führen mehrere Wege zum Ziel.
Mein bevorzugter: Alle benötigten Informationen mit in die Listbox/Combobox laden - oder wenigstens die Nummer der Zeile, in der die Daten in der Tabelle stehen.
Hierzu muss die Box mit einer entsprechenden Anzahl Spalten konfigueriert werden (ColumnCount).
Unter Eigenschaft ColumnWidths setz man die Breiten der Spalten , die nicht angezeigt werden sollen auf 0Pt.
Ich hab in deiner Datei das Modul in dem das Userform gestartet wird, die UF-Prozedur für den Button " Bild zu Person" und die Eigenschaften der Listbox entsprechend angepasst.
Ansonsten kannst du natürlich ähnlich wie der Inhalt der Textbox mit dem Namen geändert wird, wenn in der Listbox ausgewählt wird, auch den Namen der Bild-Datei ermitteln.
Gruß
Franz
https://www.herber.de/bbs/user/69582.xls
Anzeige
AW: image-pfad
14.05.2010 10:32:21
rolf
hallo Franz
das funktioniert gut.DANKE !!
nun möchte ich es in eine andere datei einbauen,da gibt es ein problem mit der zuordnung der spalten.
der name steht in spalte b u.die meldung:bild-datei nicht gefunden nimmt den namen aus spalte c.
der pfad wird nicht gefunden.
was muss ich ändern ?
mfg rolf
AW: image-pfad
14.05.2010 11:08:28
fcs
Hallo Rolf,
anpassen muss du dann die Prozedur, die die Daten für die Listbox aufbereitet. In den Zeile, die den Namen und Bilddatei-Namen auslesen muss du die Spalte von 1 in 2 bzw 2 in 3 ändern.
Gruß
Franz
Sub UserForm()
x = ThisWorkbook.Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
ReDim was(1 To x, 1 To 12)
For i = 1 To ThisWorkbook.Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
was(i, 1) = ThisWorkbook.Sheets("Tabelle1").Cells(i, 2).Value  'Name
was(i, 2) = ThisWorkbook.Sheets("Tabelle1").Cells(i, 3).Value  'Bild-Dateiname
Next
UserForm1.ListBox1.List = was
UserForm1.Show
End Sub

Anzeige
AW: image-pfad
14.05.2010 13:46:11
rolf
hallo Franz
ich habe einiges ausprobiert finde es aber nicht heraus.
würde mich sehr freunen wenn du noch mal schaust.
das makro im modul könnte es sein.?
hier ein beispiel.
https://www.herber.de/bbs/user/69588.xls
mfg rolf
AW: image-pfad
14.05.2010 16:18:55
fcs
Hallo Rolf,
die folgenden Prozeduren muss du anpassen.
Zusätzlich muss du im Userform für die Listbox1 die Eigenschaft ColumnCount auf 12 setzen.
Warum verzichtest du eigentlich beim Bezug auf Tabellenblätter auf die ürsprünglich mal eingesetzte With-Methode?
Bei der Vielzahl an Zeilen, die du im Code ansprichts veringert sich der Speicherbedarf für den Code bestimmt um ca 25%. Außerdem wird der Code für meinen Geschmackt dadurch übersichtlicher.
Gruß
Franz

Sub Zeigen2()
With ThisWorkbook.Sheets("Abstammungen")
x = .Cells(.Rows.Count, 2).End(xlUp).Row  '## angepasst fcs
ReDim was(0 To x, 0 To 12)                '## angepasst fcs
For i = 1 To x '## angepasst fcs
was(i - 1, 0) = .Cells(i, 2).Value   'Name
was(i - 1, 1) = .Cells(i, 7).Value
was(i - 1, 2) = .Cells(i, 10).Value
was(i - 1, 3) = .Cells(i, 11).Value
was(i - 1, 4) = .Cells(i, 12).Value
was(i - 1, 5) = .Cells(i, 8).Value
was(i - 1, 6) = .Cells(i, 9).Value
was(i - 1, 7) = .Cells(i, 18).Value
was(i - 1, 8) = .Cells(i, 61).Value
was(i - 1, 9) = .Cells(i, 18).Value
was(i - 1, 10) = .Cells(i, 13).Value
was(i - 1, 11) = .Cells(i, 133).Value  'Bild-Dateiname'## angepasst fcs
'was(i, 11) = ThisWorkbook.Sheets("Abstammungen").Cells(i, 133).Value  'Bild-Dateiname
Next
End With
Abstammungen.ListBox1.List = was
Abstammungen.Show
End Sub
'Bild - Pfad
Private Sub CommandButton16_Click()
With Me.ListBox1
If .ListIndex  -1 Or .Value = "" Then
bewBild = .List(.ListIndex, 11)                         '### geändert fcs
If IsEmpty(bewBild) Then
MsgBox "Noch kein Bild zugeordnet!"
ElseIf Dir(bewBild)  "" Then
Me.Image1.Picture = LoadPicture(bewBild)
Else
MsgBox "Bild-Datei """ & bewBild & """ zu Name nicht gefunden!"
End If
Else
MsgBox "Bitte erst einen Namen wählen!"
End If
End With
End Sub

Anzeige
AW: image-pfad
14.05.2010 17:25:29
rolf
hallo Franz
jetzt ist es perfeckt !! ganz grossen dank !!
ich habe mir das über monate zusammengestückelt,immer.wenn etwas zeit da war.
bin kein makro profi.aber sehr dankbar für hilfe.
habe keine ahnung wie u.wo ich die "with metode verwenden muss.
vielen dank mfg rolf
AW: image-pfad
14.05.2010 18:17:08
fcs
Hallo Rolf,
die With-Methode ist kein muss, sie erspart aber viel Text im Code und man kann relativ einfach verschiedene Methoden (z.B. Formatierungen/Einstellungen) auf das gleiche Objekt anwenden, ohne den Objektnamen ständig zu wiederholen. Mit dem Punkt vor dem Objekt oder der Methode wird immer der Bezug zum Objekt in nächsten oberhalb stehenden With-Zeile hergestellt.
Gruß
Franz
With Worksheets(Abstammung)
'erste freie Zeile in Blatt "Abstammungen" ermitteln
'und in Variable "erste_freie_Zeile" schreiben
erste_freie_Zeile = .Range("B2000").End(xlUp).Offset(1, 0).Row
'In Blatt "Abstammungen"
.Cells(erste_freie_Zeile, 1) = Format(TextBox1.Text)
.Cells(erste_freie_Zeile, 2) = Format(TextBox32.Text)
.Cells(erste_freie_Zeile, 3) = Format(TextBox3.Text)
'... usw. über ca. 60 Zeilen
.Cells(erste_freie_Zeile, 75) = Format(TextBox64.Text)
End With
'ist wesentlich eleganter und pflegeleichter als
'erste freie Zeile in Blatt "Abstammungen" ermitteln
'und in Variable "erste_freie_Zeile" schreiben
erste_freie_Zeile = Worksheets(Abstammung).Range("B2000").End(xlUp).Offset(1, 0).Row
'In Blatt "Abstammungen"
Worksheets(Abstammung).Cells(erste_freie_Zeile, 1) = Format(TextBox1.Text)
Worksheets(Abstammung).Cells(erste_freie_Zeile, 2) = Format(TextBox32.Text)
Worksheets(Abstammung).Cells(erste_freie_Zeile, 3) = Format(TextBox3.Text)
'... usw. über ca. 60 Zeilen
Worksheets(Abstammung).Cells(erste_freie_Zeile, 75) = Format(TextBox64.Text)

Anzeige
AW: image-pfad
15.05.2010 09:46:35
rolf
hallo Franz
das werde ich gleich umsetzen.es ist gut wenn ich etwas ordnug u.übersicht bekomme.
danke für deine hilfe.
mfg rolf

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige