ich habe für meinen Sportverein eine kleine Datenbank erstellt und möchte nun von den verschiedenen Gruppen auf Knopfdruck eine Bildergalerie erstellen lassen, soweit Fotos in der DB vorhanden sind. Habe mir mithilfe dieses Forums ein Programm zusammengebastelt, das auch funktioniert:
"
Private Sub bilddateien_lesen()
dim ordner as string
dim suche as string
dim spalte, zeile as integer
dim suchname, suchvorname, suchparameter as string
dim gebdat as string
dim bild
ordner = "c:\verein\vereinsdatei\bilder\"
spalte = 1
zeile = 2
'Suchparameter abfragen und in Tabelle Spielerdaten in der Spalte Gruppe suchen und vergleichen, ob in Spalte Bild "ja" eingegeben ist. Dann Namen und Vornamen in gleicher Zeile erfragen
suche= InputBox("Bitte Gruppe eingeben", "Suche für Bilddatei", vbOkCancel)
For Each bereich In Sheets("Spielerdaten").Range ("K:K")
If bereich = suche And bereich.Offset(0, -2) = "ja" Then
suchname = bereich.Offset (0, -10)
suchvorname = bereich.Offset (0, -9)
gebdat = bereich.Offset (0, -8)
suchparameter = suchname & "_" & suchvorname
Sheets("Bilddatei").Cells(zeile, spalte).Activate
'Festsetzung der Zeilenhöhe
ActiveSheet.Rows(zeile).RowHeight = 150
'Bild aus dem Verzeichnis "bilder" kopieren und einfügen
bild = ordner & suchparameter & ".jpg"
If Dir(bild) <> "" Then
ActiveSheet.Pictures.Insert(bild).Select
'Gefundenes Bild einfügen und Höhe auf Zeilenhöhe setzen
With Selection.ShapeRange
.LockAspectRatio = msoTrue
.Height = 150
End With
'Namen und Geb.-Datum unter Bild setzen
ActiveCell.Offset(1, 0).Value = suchname & " " & suchvorname & " " & gebdat
ActiveCell.Offset(-1, 2).Select
spalte = spalte + 3
End If
End If
Next
End Sub
"So funktioniert es recht gut, aber die Bilder werden alle auf einer Zeile dargestellt und somit ist es z.B. für das Drucken schlecht.
Wie kann ich Excel noch sagen, dass er immer nach vier Bildern einen Zeilenumbruch machen soll. Ich krieg dieses "letzte Stück" Arbeit einfach nicht hin.
Und wie kann ich dann alle Bilder auf einmal wieder löschen. Das ist mir auch noch nicht gelungen.
Vielleicht hat jemand die Lösung, bin für jede Idee dankbar, aber meine Programmierkenntnisse sind noch sehr bescheiden!
Vielen Dank schon mal im voraus
Erwin