Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
940to944
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
940to944
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhalte aus Zeile in UserForm anzeigen lassen
12.01.2008 22:10:00
Axel
Hi,
ich habe eine kleine Liste meiner DVD Sammlung gemacht und möchte einen Makro anfertigen bei dem die Zellinhalte der jeweils aktivierten Zeile als UserForm ansehnlich und geordnet dargestellt werden. Das Makro wollte ich auf einen Button in der obersten Zeile legen (diese Zeile ist fixiert und wird somit immer dargestellt)
Wenn ich also einen Filmnamen markiert habe und den Button drücke, sollen die Zellinhalte zu Film1 (z.b. Sprache, Kaufdatum usw.) in Textfeldern dargestellt werden.
Auf dem Userform sollte ein Drehfeld (horizontal) existieren, welches es ermöglicht zum nächsten Film (sprich eine Zeile tiefer im Excel Formular) oder zum vorherigen Film (eine Zeile höher) zu springen, quasi ein Durchblättern der Filme auf dem Userform selbst.
Um das Ganze zu verdeutlichen, hier mal ein Auszug des Dokuments mit 3 Filmen: https://www.herber.de/bbs/user/48974.xls
Auf der Zelle des Filmnamens habe ich einen Kommentar mit weiteren Informationen eingefügt. Der Textinhalt dieses Kommentars sollte ebenfalls ausgelesen und in ein Listenfeld auf dem Userform dargestellt werden, ich hoffe das dies möglich ist!
Letze Schwierigkeit: Das Cover des jeweiligen Films soll ebenfalls auf dem Userform erscheinen. In einer Zelle habe ich dazu schon einen Direktlink zum Bild eingetragen, dieser soll als Quelle zum Import dienen.
Die JPG's sind nur wenige kb groß und können daher ruhig im Excel Formular selbst gespeichert werden, so das die Verknüpfung zu Originalen auf der Festplatte nicht länger existieren muss. (wäre mir am liebsten)
Wenn es nicht möglich ist anhand des Links das Bild für einen Film zu importieren, sollte es eine manuelle Importmöglichkeit geben, z.b. ein Button mit der Bezeichnung "Cover-Import" o.ä.
Bisher habe ich nur kleinere Makros geschrieben, z.B. um Filminfos aus einer Textdatei zu importieren, kenne mich aber mit dem Userform überhaupt noch nicht aus. Daher wäre es nett eine einigermaßen nachzuvollziehende Vorgehensweise für den Userform Unerfahrenen zu erstellen ;)
Ich weiß das ist ganz schön viel verlangt, trotzdem bin ich für jede nochso kleine Hilfe dankbar ;)
Lösungen dürfen auch gerne hochgeladen oder an mich gemailt werden *g

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Hatte grad Lust zum tippen ;o)
12.01.2008 23:59:00
Matthias
Hallo
Hatte grad gute Laune und Lust zum tippen.

Die Datei https://www.herber.de/bbs/user/48977.xls wurde aus Datenschutzgründen gelöscht


Userbild

AW: Hatte grad Lust zum tippen ;o)
13.01.2008 06:09:10
Axel
wow, vielen vielen Dank für deine Arbeit, das hilft mir schonmal ein großes Stück weiter die Funktionsweise zu verstehen, ich habs sogar auf Anhieb hinbekommen das Feld mit dem IMdB Link auszulesen;)
noch schöner wäre es wenn's auch als klickbarer Link link erscheinen würde, aber das is erstmal nicht so wichtig...
Wichtig sind nur noch 2 Punkte:
1. Das Userform soll bei der aktuell markierten Zeile starten und nicht immer Anfang.
2. Das Coverproblem... Da ist mir noch eine weitere Möglichkeit in den Sinn gekommen:
Man fügt die Bilder schon vorher in Tabelle2 ein, und benutzt diese dann als Quelle.

Anzeige
AW: Hatte grad Lust zum tippen ;o)
13.01.2008 06:52:00
Axel
mit folgendem Befehl kann man jedensfalls ein Bild ins Userform laden:
Image1.Picture = LoadPicture("D:\test.jpg")
Das hat soweit bei mir auch geklappt, nun muss es doch irgenwie möglich sein den Bildlink der Zelle zu entnehmen (natürlich mit einer Abfrage ob das Feld leer ist, damit es nicht zum Fehler kommt)

AW: 1.) = gelöst ;o)
13.01.2008 07:14:35
Axel
suuuuuuuper, da hat ja zum Glück eben grad jeder ein anderes problem bearbeitet ;)
wenn du noch eine Idee hast wie ich den IMdB link als klickbaren Hyperlink darstellen kann, sind meine Fragen eigentlich alle beantwortet :)

Anzeige
Bild laden aus Zelle
13.01.2008 07:33:00
Matthias
Hallo Heiko
Nur alternativ, da ich mich eh mit Deinem Problem beschäftigt habe
Dein Bildproblem kannst Du auch so lösen:

Private Sub CommandButton2_Click()
On Error GoTo keinBild
Dim strBild
strBild = Sheets("Daten").Range("J3")
Me.Image1.Picture = LoadPicture(strBild): Exit Sub
keinBild:
MsgBox " ... es ist leider kein Bild vorhanden"
End Sub


Userbild
PS: Es sieht immer freundlicher aus am Anfang eines Beitrages ein Hallo zu setzen
und den Beitrag mit einem Gruß zu beenden. (Diese Zeit sollte man sich nehmen)
Ich weiß, das Du das nur vor lauter Freude vergessen hast ;o)
In diesem Sinne:
Userbild

Anzeige
AW: Hatte grad Lust zum tippen ;o)
13.01.2008 07:23:00
Jens
Hi Axel
Dann noch zu 2)

Private Sub SpinButton1_Change()
Dim BildLink As String
BildLink = Cells(SpinButton1.Value, 30).Text
Dim InfoText As String
With Worksheets("Tabelle1")
Me.txtNr = .Cells(Me.SpinButton1.Value, 1).Value
Me.txtFilmtitel = .Cells(Me.SpinButton1.Value, 4).Value
Me.txtKaufDatum = .Cells(Me.SpinButton1.Value, 3).Value
Me.txtType = .Cells(Me.SpinButton1.Value, 6).Value
Me.txtAnzahlTraeger = .Cells(Me.SpinButton1.Value, 7).Value
Me.txtSprache = .Cells(Me.SpinButton1.Value, 8).Value
Me.txtDauer = Format(.Cells(Me.SpinButton1.Value, 9).Value, "hh:mm:ss")
Me.txtDisk1 = .Cells(Me.SpinButton1.Value, 10).Value
Me.txtDisk2 = .Cells(Me.SpinButton1.Value, 11).Value
Me.txtDisk3 = .Cells(Me.SpinButton1.Value, 12).Value
Me.txtDisk4 = .Cells(Me.SpinButton1.Value, 13).Value
Me.txtDisk5 = .Cells(Me.SpinButton1.Value, 14).Value
Me.txtDiskGesamt = .Cells(Me.SpinButton1.Value, 15).Value
Me.txtAufloesung = .Cells(Me.SpinButton1.Value, 16).Value
Me.txtTonspur1 = .Cells(Me.SpinButton1.Value, 17).Value & " " & .Cells(Me.SpinButton1.Value,  _
18).Value & " " & .Cells(Me.SpinButton1.Value, 19).Value & " " & .Cells(Me.SpinButton1.Value, 20).Value
Me.txtTonspur2 = .Cells(Me.SpinButton1.Value, 21).Value & " " & .Cells(Me.SpinButton1.Value,  _
22).Value & " " & .Cells(Me.SpinButton1.Value, 23).Value & " " & .Cells(Me.SpinButton1.Value, 24).Value
Me.txtOrt = .Cells(Me.SpinButton1.Value, 25).Value
 If Dir(BildLink)  "" Then
Me.Image1.Picture = LoadPicture(BildLink)
Else
Me.Image1.Picture = Nothing
End If
On Error GoTo weiter
Me.txtInfoText = ""
Me.txtInfoText = .Cells(Me.SpinButton1.Value, 4).Comment.Text
' InfoText = .Cells(Me.SpinButton1.Value, 4).Comment.Text
' MsgBox InfoText
End With
weiter:
End Sub


Gruß aus dem Sauerland
Jens

Anzeige
AW: Hatte grad Lust zum tippen ;o)
13.01.2008 07:28:00
Axel
so gehts natürlich auch :)
ich danke dir vielmals, auf dieses Forum ist einfach immer Verlaß, ganz große Klasse
noch ne idee wegen dem hyperlink? ;)

noch so'n Frühaufsteher ;o) __oT
13.01.2008 07:35:00
Matthias

AW: noch so'n Frühaufsteher ;o) __oT
13.01.2008 07:53:00
Axel
Hallo,
na aber klar doch :)
eine kleine Sache noch:
Der Bildlink sollte nun nicht mehr mit eine absolute Pfadangebe sein, sondern sich auf den Unterordner "covers" beziehen, welcher im gleichen Verzeichnis liegt wie die xls selbst.
\cover\test.jpg hat leider nicht geklappt
Gruß Axel ;)

Tipp: ThisWorkbook.Path ___oT
13.01.2008 08:09:00
Matthias

AW: Tipp: ThisWorkbook.Path ___oT
13.01.2008 08:32:00
Axel
Hallo,
ja sorry ich hab eben schon lange nix mehr in VBA gemacht
btw du meintest wohl:
ThisWorkbook.Path & "\covers\" &
gelle?
Gruß Axel

Anzeige
MsgBox ThisWorkbook.Path
13.01.2008 08:46:48
Matthias
Hallo
Wenn die *.jpg und die Datei selbst im gleichen Verzeichnis liegen,
brauchst nur ThisWorkbook.Path & "\"
Du kannst es Dir doch anzeigen lassen!

Sub Beispiel()
MsgBox ThisWorkbook.Path
End Sub


Beispielbild:
Userbild
Userbild

Falls Du mich meinst, Matthias...
13.01.2008 07:56:00
Jens
Moinsen Matthias
...ich war noch nicht in der Heia.
Soll ja auch Menschen geben, die Nachtschichten schieben :o))
Außerdem muss ich Dir doch wieder auf die Sprünge helfen, wenn Du Probleme mit einem Wald und den Bäumen hast ;-)
Gruß aus dem Sauerland
Jens

Anzeige
;o) __ oT
13.01.2008 08:05:10
Matthias

Das Bildproblem ist gelöst :)
13.01.2008 07:08:54
Axel
Ich habs mir mal selbst zusammengereimt:
Me.Image.Picture = LoadPicture(Cells(Me.SpinButton1.Value, 30).Value)
Jetzt also steht noch das Problem mit dem Start des Userforms in der markierten Zeile aus... na das sollte doch zu lösen sein ;)

Problem: Ab Zeile 11 gehts nicht weiter!?!
13.01.2008 12:31:00
Axel
Hallo
Nachdem ich nun ein paar Zeilen hinzugefügt habe ist mir aufgefallen das ab dem Film in der 11ten Zeile immer dieser Fehler erscheint:
Laufzeitfehler '380': Eigenschaft Value konnte nicht gesetzt werde. Ungültiger Eigenschaftenwert.
Der Debugger verweist auf : "SpinButton1 = LoZeile" im UserForm1
ist irgenwo festgelegt das es nur bis Zeile 11 gehen soll?
Gruß Axel

Anzeige
AW: Problem: Ab Zeile 11 gehts nicht weiter!?!
13.01.2008 18:37:00
Jens
Hallo Axel
Schau mal im VBA-Editor unter den Eigenschaften vom Spinbutton nach, welche MIN- bzw. MAX-Werte eingetragen sind.
Userbild
Die musst Du dann eben anpassen.
Gruß aus dem Sauerland
Jens

AW: Problem: Ab Zeile 11 gehts nicht weiter!?!
13.01.2008 19:27:26
Axel
Nabend
omg da hätt ich aber auch wirklich selbst drauf kommen können, aber Userform is halt noch Neuland für mich, vielen Dank für die Aufklärung
komisch nur das bei Minimum der hohe Wert reinkommt und Max auf 1 bleiben kann !?!
Das soll einer verstehen ^^
MfG Axel

Anzeige
AW: Problem: Ab Zeile 11 gehts nicht weiter!?!
13.01.2008 21:42:00
Axel
Nabend
omg da hätt ich aber auch wirklich selbst drauf kommen können, aber Userform is halt noch Neuland für mich, vielen Dank für die Aufklärung
komisch nur das bei Minimum der hohe Wert reinkommt und Max auf 1 bleiben kann !?!
Das soll einer verstehen ^^
MfG Axel

Wechseln der Tabellenblätter verursacht Fehler
13.01.2008 21:51:00
Axel
Hallo,
ich bins leider nochmal...
Soeben ist mir noch aufgefallen das es leider einen den Laufzeitfehler 424 'Objekt erforderlich' gibt sobald ich von einem anderen Tabellenblatt in Tabelle1 zurückswitche, Grund ist Folgendes:

Private Sub Worksheet_Activate()
LoZeile = Target.Row
End Sub


Kann man das noch irgendwie ausbügeln?
Gruß Axel

Anzeige
AW: Wechseln der Tabellenblätter verursacht Fehler
13.01.2008 22:20:00
Gerd
Hi,
in Private Sub Worksheet_Activate() gibt es kein Target!
mfg Gerd

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige