Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
464to468
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
464to468
464to468
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hyperlink

Hyperlink
03.08.2004 12:57:41
Sebastian
Hallo ihr Excel-Experten, ich brauch noch mal eure Hilfe!
Ein paar Threats weiter unten wollten ich wissen, wie man die erste leere Zeile in einer Tabelle findet. Das Funktioniert jetzt dank euch so weit!
Jetzt will in einer anderen Spalte einen Hyperlink auf eine Datei erstellen.
Das was ich mir aus der Hilfe geholt hab, funktioniert net.
Es sieht folgendermasen aus:

Private Sub CommandButton1_Click()
lastrow = Worksheets("Drehmaschine").Range("B65536").End(xlUp).Row + 1
Worksheets(1).Cells(lastrow, 2).Value = "Test"
With Worksheets(1)
.Hyperlinks.Add.Cells(lastrow, 5), "C:\Pr_Drehmaschine\Programme_Drehmaschine\p1481.nc"
End With
End Sub

Der Link auf die Datei soll später noch variabel werden, aber das ist erst mal nicht so wichtig!
Könnt ihr mir noch mal helfen?
Danke schon mal!

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hyperlink
Hendrik
Fast richtig.
.Hyperlinks.Add Anchor:=Range(lastrow,5) Adress:="C:\....xy....."
AW: Hyperlink
Uduuh
Hallo,
falsche Syntax!
with worksheets(1)
.hyperlinks.add anchor:=.cells(lastrow,5), Address:="C:\Pr_Drehmaschine\Programme_Drehmaschine\p1481.nc", texttodisplay:="P1481"
end with
Gruß aus'm Pott
Udo
P.S. Benutz doch mal den Recorder.
AW: Hyperlink
Sebastian
Ich bin euch zu ewigem Danke verpflichtet!!! :-)
Danke für die Tips!
P.S. Ich werds mal mit dem Recorder versuchen...
AW: Hyperlink
Sebastian
Also, das funktioniert super!! Aber einen Recorder hab ich nicht gefunden... Wo startet man den?
Ich denke aber, zu diesem Problem, findet der bestimmt keine Lsg.
Wie gesagt, das folgende funktioniert super:

Private Sub CommandButton1_Click()
lastrow = Worksheets("Drehmaschine").Range("B65536").End(xlUp).Row + 1
Worksheets(1).Cells(lastrow, 2).Value = "....xyz...."
With Worksheets(1)
.Hyperlinks.Add anchor:=.Cells(lastrow, 5), Address:="C:\Pr_Drehmaschine\Programme_Drehmaschine\p1481.nc", TextToDisplay:="anzeigen"
End With
End Sub

Nun muss in der Zeile 1481 die Datei p1481.nc, und in der nächsten Zeile die Datei p1482.nc, in der nächsten p1483.nc, und so weiter, also immer fortlaufend. Geht das zu realisieren?
mfg
Sebastian
Anzeige
AW: Hyperlink
Uduuh
Hallo,
die Frage ist: wie lange soll er das machen?
Ich denke mal das sinnvollste wäre, das Verzeichnis auslesen zu lassen und alle Dateien einzutragen. Aber das ist ein anderes Thema.

Private Sub CommandButton1_Click()
dim iCounter as integer
For iCounter=1481 to 20000
lastrow = Worksheets("Drehmaschine").Range("B65536").End(xlUp).Row + 1
Worksheets(1).Cells(lastrow, 2).Value = "....xyz...."
With Worksheets(1)
.Hyperlinks.Add anchor:=.Cells(lastrow, 5), Address:="C:\Pr_Drehmaschine\Programme_Drehmaschine\p" &iCounter &".nc", TextToDisplay:="anzeigen"
End With
Next iCounter
End Sub

Gruß aus'm Pott
Udo
Den Recorder findest du unter Extras-Makro-Aufzeichnen.
Gruß aus'm Pott
Udo
Anzeige
AW: Hyperlink
Sebastian
Eigentlich soll er immer nur eine Zeile hinzufügen, und dann erst wieder ne Zeile hinzufügen, wenn das Makro das nächste mal aufgerufen wird.
Wenn ich die Zeile "Worksheets(1).Cells(lastrow, 2).Value = "...xyz..." raus lasse schreibt er mir nur noch die letzte Zeile hin... Warum das? Ich will eigentlich nicht, das da was hin geschrieben wird, das war nur als Test, obs funktioniert...
AW: Hyperlink
kdosi
Hallo Sebastian, volgender Code sollte funktionieren. Gruss kdosi


Option Explicit
Private Sub HL_Add()
    Dim lastrow
    Const PFAD As String = "C:\Pr_Drehmaschine\Programme_Drehmaschine\p1481.nc"
    
    With Worksheets("Drehmaschine")
    
        lastrow = .Range("B65536").End(xlUp).Row + 1
    
        .Cells(lastrow, 2).Value = "Test"
        
        .Hyperlinks.Add anchor:=.Cells(lastrow, 5), _
                        Address:=PFAD, _
                        TEXTTODISPLAY:=.Cells(lastrow, 2).Value
    End With
End Sub


Anzeige
AW: Hyperlink
Sebastian
Hi kdosi!
Ich hab deinen Code in mein Befehlssteuerelement eigefügt, aber wenn ich jetzt drauf klicke, dann passiert gar nichts mehr... :-(
Was hab ich falsch gemacht?
mfg
AW: Hyperlink
Sebastian
Hi kdosi!
Ich hab deinen Code in mein Befehlssteuerelement eigefügt, aber wenn ich jetzt drauf klicke, dann passiert gar nichts mehr... :-(
Was hab ich falsch gemacht?
mfg
AW: Hyperlink
kdosi
Hallo, es passiert nichts mehr? Also ich habe die Proc umbenannt, es muss wie folg heissen. Um den folgenden Code zu testen, musst Du die Zellen auswaehlen, in die Du die HyperLinks einfuegen willst. Funzt es :-) ? Gruss kdosi, CZ


Option Explicit
Private Sub CommandButton1_Click()
    Dim lastrow, bereich, zelle
    Const PFAD As String = "C:\Pr_Drehmaschine\Programme_Drehmaschine\p"
    Const PREFIX As String = ".nc"
        
    Worksheets("Drehmaschine").Activate
    
    If (VBA.TypeName(Application.Selection) = "Range") Then
        Set bereich = Application.Selection.Cells
    Else
        MsgBox "Zellen auswehlen!", vbExclamation, "CommandButton1_Click"
        Exit Sub
    End If
            
    For Each zelle In bereich
        Worksheets("Drehmaschine").Hyperlinks.Add anchor:=zelle, _
                                              Address:=PFAD & VBA.CStr(zelle.Row) & PREFIX, _
                                              TEXTTODISPLAY:=PFAD & VBA.CStr(zelle.Row) & PREFIX
    Next zelle
End Sub


Anzeige
AW: Hyperlink
Sebastian
Das funktioniert so weit, es fängt nur noch mit der falschen Datei an, es müsste mit p1480.nc anfangen, fängt aber mit p1356.nc an...
Das ist der letzte Fehler.
AW: Hyperlink
kdosi
Hallo Sebastian. Du hast geschrieben : "Nun muss in der Zeile 1481 die Datei p1481.nc, und in der nächsten Zeile die Datei p1482.nc, in der nächsten p1483.nc, und so weiter, also immer fortlaufend". Das Makro fultioniert so, dass wenn man z.B. die Zellen a1481 bis a1490 auswaehlt und das Makro laufen laesst, dann wird in jede Zelle ein Hyper Link zugegeben. Der Hyper Link besteht aus :
Address:=PFAD & VBA.CStr(zelle.Row) & PREFIX
PFAD kannst Du beliebig aendern, im Code am Anfang einfach uebershcreiben
PREFIX kannst Du auch beliebig aendern
VBA.CStr(zelle.Row) heangt von den ausgewaehlten Zellen
Ich weiss nicht, ob ich Deine Afgabe richtig verstanden habe, weil mein Deutsch reicht manchmal nicjt aus :-). Gruss kdosi, CZ

Anzeige
AW: Hyperlink
Sebastian
Du hast alles richtig vestanden, ich hab gemerkt, wo der Fehler liegt. Ich hab in der Spalte A forlaufend Zahlen, diese unterscheiden sich aber von der Zeilennummer.
Die Datei die aufgerufen wird, ist aber nicht von der Zeilennummer abhängig, sondern von der Fortlaufenden Zahl in der 1. Spalte.
AW: Hyperlink
kdosi
Hallo, das erfordert nur eine kleine Aenderung im Code. Am Anfang musst Du jetzt in die Zellen, wo Du die HL einfuegen willst die Nummern kopieren. Das Makro wird die Nummern zu dem HL hinzufuegen. Also z.B. man schreibt in die Zellen E10 - E15 Werte :
1446
1447
1448
1449
1450
1451
dann auswaehlt man die Zellen E10 - E15 und laesst das Makro laufen :-). Gruss Kdosi


Option Explicit
Private Sub CommandButton1_Click()
    Dim lastrow, bereich, zelle
    Const PFAD As String = "C:\Pr_Drehmaschine\Programme_Drehmaschine\p"
    Const PREFIX As String = ".nc"
        
    Worksheets("Drehmaschine").Activate
    
    If (VBA.TypeName(Application.Selection) = "Range") Then
        Set bereich = Application.Selection.Cells
    Else
        MsgBox "Zellen auswehlen!", vbExclamation, "CommandButton1_Click"
        Exit Sub
    End If
            
    For Each zelle In bereich
        If (zelle.Value <> "") Then
            Worksheets("Drehmaschine").Hyperlinks.Add anchor:=zelle, _
                                                  Address:=PFAD & VBA.CStr(zelle.Value) & PREFIX, _
                                                  TEXTTODISPLAY:=VBA.CStr(zelle.Value)
        End If
    Next zelle
End Sub


Anzeige
AW: Hyperlink
03.08.2004 15:26:58
kdosi
Hallo Sebastian, dieser Code arbeitet mit der 1.Spalte. In der 1.Spalte sind also die Werte erwartet, und in die Zellen, die man vor dem Start des Makros auswaehlt, werden die HL eingefuegt. Hoffentlich hats Dir geholfen :-). Ich gehe jetzt nach Hause, aber falls Du noch Fragen hast : DDMAIL@seznam.cz
Gruss kdosi.


Option Explicit
Private Sub CommandButton1_Click()
    Dim lastrow, bereich, zelle
    Const PFAD As String = "C:\Pr_Drehmaschine\Programme_Drehmaschine\p"
    Const PREFIX As String = ".nc"
        
    Worksheets("Drehmaschine").Activate
    
    If (VBA.TypeName(Application.Selection) = "Range") Then
        Set bereich = Application.Selection.Cells
    Else
        MsgBox "Zellen auswehlen!", vbExclamation, "CommandButton1_Click"
        Exit Sub
    End If
            
    For Each zelle In bereich
        If (zelle.Offset(0, -(zelle.Column) + 1).Value <> "") Then
            Worksheets("Drehmaschine").Hyperlinks.Add anchor:=zelle, _
                                                  Address:=PFAD & VBA.CStr(zelle.Offset(0, -zelle.Column + 1).Value) & PREFIX, _
                                                  TEXTTODISPLAY:=VBA.CStr(zelle.Value)
        End If
    Next zelle
End Sub


Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige