Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Hyperlink automatisch erstellen
#1
Hallo Leute,

ich habe schon ein Weilchen geschaut und Google gepeitscht, aber ich konnte bisher nichts finden.
Ich versuche verzweifelt folgendes zu Bewerkstelligen...

Über eine Userform erstelle ich mir in der Excel-Mappe neue Tabellenblätter mit Mitarbeiterdaten. In der Userform fülle ich dazu diverse Kriterien aus, welche mir dann in mein Vorlagenlayout eingetragen werden was wiederum automatisch als neue Tabelle angelegt wird. Die Tabelle heißt anschließend dann so, wie der eingegebene Name des Mitarbeiters. Meine erstes Tabellenblatt nennt sich "Übersicht". Dort soll nach Möglichkeit ebenfalls der Name rein und zwar in das nächste freie Feld der Spalte B. In der Spalte B sind die ersten beiden Felder bereits durch Überschriften Belegt. Darunter befinden sich bereits weitere Zellen mit manuell angelegten Namen. Der Name kommt aktuell übrigens hier her -> userform3.listbox1.value.
Der Name, welcher dann in der nächsten freien Zelle von Spalte B geschrieben wurde, soll wiederum einen Hyperlink auf das gleichnamige Tabellenblatt bekommen.

Also zusammengefasst heißt das:
- erstelle Tabellenblatt mit Namen = userform3.listbox1.value (CHECK)
- im Tabellenblatt "Übersicht" soll die nächste freie Zelle von Spalte B den gleichen Wert annehmen = userform3.listbox1.value (offen)
- erstelle Hyperlink in der eben gefüllten Zelle mit dem Ziel des gleichnamigen Tabellenblattes und eben erstellte Tabellenblatt (offen)
- ein kleines Extra wäre noch, dass in Spalte A der Übersicht, also direkt neben dem aktuell eingepflegten Namen,
  noch das Datum eingepflegt wird. Also das aktuelle Datum (xx.xx.xxxx), zum Zeitpunkt der Erstellung (offen)

Das ist meine erste Anfrage in diese Richtung und ich hoffe, dass die Angaben ausreichend sind. Hab nun schon zahlreiche Beiträge gelesen, bei denen nicht genug Futter geliefert wurde um eine Lösung herbeizuführen. Dem möchte ich natürlich aus dem Weg gehen.
Es wäre mir eine sehr große Hilfe, wenn sich jemand da draußen die Zeit nehmen könnte.

Ich danke euch.
Antworten Top
#2
Hallo,

Zitat:Hab nun schon zahlreiche Beiträge gelesen, bei denen nicht genug Futter geliefert wurde um eine Lösung herbeizuführen.

einer der Gründe dafür mag es sein, dass man gleichartige Daten nicht auf mehrere Blätter verteilen sollte.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
Das meinte ich in Bezug auf Nutzer wie mich, die in Foren wie diesem hier nach Hilfe suchen. Oft liest man nur, dass gefühlte hundert Funktionen gefordert sind und im gleichen Zuge erhält man vom Fragenden aber nur die Information, dass in Spalte A Zeile 3 ne 1 steht. Mehr nicht. Wollte ergo nur zum Ausdruck bringen, das ich hoffe genug Eckdaten angegeben zu haben.
Im übrigen habe ich nicht nach einer Bewertung meiner Tabelle gefragt. Die Daten müssen verteilt sein, weil nur ein paar Eckdaten identisch sind und der Rest sehr spezifisch ist.
Antworten Top
#4
Hallöchen,

was hast Du deinen bisher außer Deinen Ideen? Bisher sieht es nach einem Auftrag zur Programmierung aus, da mache ich auch gerne ein Angebot. In einem Forum geht es aber vor allem bei umfangreicheren Themen darum, den Fragestellern in ihrem Bemühen zu helfen, eine Lösung zu entwickeln.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Hallo,

dann zeige uns doch mal Dein bisheriges Machwerk oder müssen wir davon ausgehen, daß das hier ein reines Wunschprogramm ist:

Zitat:Also zusammengefasst heißt das:
- erstelle Tabellenblatt mit Namen = userform3.listbox1.value (CHECK)
- im Tabellenblatt "Übersicht" soll die nächste freie Zelle von Spalte B den gleichen Wert annehmen = userform3.listbox1.value (offen)
- erstelle Hyperlink in der eben gefüllten Zelle mit dem Ziel des gleichnamigen Tabellenblattes und eben erstellte Tabellenblatt (offen)
- ein kleines Extra wäre noch, dass in Spalte A der Übersicht, also direkt neben dem aktuell eingepflegten Namen,
  noch das Datum eingepflegt wird. Also das aktuelle Datum (xx.xx.xxxx), zum Zeitpunkt der Erstellung (offen)
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#6
Heart 
Das kann ich erst von der Arbeit aus bewerkstelligen. Ich muss die Datei vorher mit flüssigem Datenschutz einmal gut ausspülen. Dann gern. Aber was soll ich sagen. Zu meinen gewünschten Punkten hab ich keine Ahnung wie ich ran gehen soll. Ich bin Anfänger bzw. hab VBA gerade erst für mich entdeckt. Oftmals hilft mir die Aufzeichnung von Makros, was aber in dem Fall nicht funzt. Auch helfen mir Foren wie dieses hier. Ne Menge Kleinigkeiten hab ich aus dem Netz, welche ich mir dann anschließend, in meist recht mühevoller Kleinarbeit anpasse. Denn vermutlich wurden 99% aller nicht zu komplizierten Fragen bereits von anderen Ahnungslosen gestellt. In jedem Fall lerne ich immer wieder dazu. Und wenn ihr es schafft mir zu vermitteln, wie ich z.B. die nächste freie Zelle in einer Spalte oder einer Zeile ermitteln kann, dann habt ihr mich absolut glücklich gemacht. Ich habs in der Vergangenheit 1x hinbekommen, aber finde die Datei nicht mehr. Die Funktion hätte ich bereits öfters in einigen Tabellen gebrauchen können. Meist mit der Aufgabe, die bereits markierte Zelle zu kopieren und irgendwo hinten dran zu packen. Reproduziert bekomme ich es aktuell nicht mehr. Vermutlich fehlt mir das Verständnis für eine bestimmte Syntax. Das ist zumeist eh die Problematik, wenn man sich als "Ahnungsloser" ein paar Makros im Netz sucht. Klar funktionieren die oftmals, aber man versteht nicht warum sie es tun. Da taste ich mich Schritt für Schritt ran. Echte VBA Laien, kann ich jedenfalls mittlerweile beeindrucken. Ganz so blöd kann ich dann ja nicht sein... (bitte habt Gnade mit mir  :19:)
Antworten Top
#7
Hallöchen,

Zitat:in jedem Fall lerne ich immer wieder dazu. Und wenn ihr es schafft mir zu vermitteln, wie ich z.B. die nächste freie Zelle in einer Spalte
oder einer Zeile ermitteln kann, dann habt ihr mich absolut glücklich gemacht.

na, wenn es so einfach ist, jemanden absolut glücklich zu machen, dann  .... tu es Petrus  :05:

Zitat:Option Explicit

Sub letzte_Zeile()
'letzte Zeile in Spalte A suchen
Zeilenanzahl = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
MsgBox "Zeile: " & Zeilenanzahl
End Sub

Sub letzte_Spalte()
'letzte Spalte in Zeile 1 suchen
Spaltenanzahl = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox "Spalte: " & Spaltenanzahl & Chr(10) & _
       "Buchstabe: " & SpaltenBuchstaben(Spaltenanzahl)
End Sub

Sub letzteZeile_letzteSpalte()

Dim Zeilenanzahl As Long
Dim Spaltenanzahl As Long
Dim lngi As Long
                                                                'letzte Zeile in Spalte A suchen
Zeilenanzahl = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row

                                                                'letzte Spalte in der Zeile suchen und
                                                                'Schrifteintag hinter letzter genutzter Spalte
    For lngi = 1 To Zeilenanzahl
        Spaltenanzahl = ActiveSheet.Cells(lngi, Columns.Count).End(xlToLeft).Column
        Cells(lngi, Spaltenanzahl + 1) = "Hallo, hier ist Schluß"
    Next lngi
End Sub
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
[-] Folgende(r) 1 Nutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:
  • Xsaero
Antworten Top
#8
Hm, ... zu früh abgeschickt.

Das Ganze sieht dann, wenn beispielsweise jeweils die letzte gesuchte Spalte der vorhandenen Zeilen gesucht werden soll, so aus:


Angehängte Dateien Thumbnail(s)
   
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#9
Bevor ich mich bedanke, erst mal der gewünschte Austausch und mein Lösungsansatz um die unterste leere Zelle in der Übersicht zu füllen.
Ich habe mir wie gesagt nochmal Gedanken gemacht. Meine Lösung ist umständlich, vermutlich viel zu kompliziert und auch nur bedingt das was ich wollte. Ich hab mir eine Hilfstabelle eingebaut. Dort lasse ich die gewünschten Werte zuerst einpflegen, kopiere die Zeile und füge sie in der Übersicht direkt unter den Überschriften ein. Existierende Zeilen rutschen nach unten und man hat das aktuellste Datum immer ganz oben stehen. Ich Könnte jetzt noch mit Filter arbeiten um den Effekt auch wieder gerade zu biegen. Wie ihr seht hab ich zwar wenig Ahnung, bin aber mit meinen wenigen Möglichkeiten recht kreativ unterwegs. :19:
Schaut einfach mal rein und bewertet selbst. Namen und Abteilungen habe ich Anonymisiert. Zum starten einfach den Button "Neue Mappe Anlegen" benutzen.


.xlsm   ERA 2.0.xlsm (Größe: 121,58 KB / Downloads: 9)

*Update*
Die Idee mit dem Filter habe ich auch noch fix umgesetzt. Für die Hyperlinkproblematik bin ich allerdings noch frei von Ideen :s .
Antworten Top
#10
Moin!
Du möchtest eine simple "Datenbank" erstellen.
Dazu hat Klaus-Dieter bereits alles gesagt.

Wenn Du eine identische Anfrage ("ich möchte für jeden Mitarbeiter eine Tabelle erstellen") in einem Access-Forum gestellt hättest, hättest Du noch viel deutlichere (negative) Antworten bekommen.
Eine Datenbank hat (eher) wenige Tabellen, die über einen Schlüssel miteinander verknüpft sind.
Diese zeichnen sich dadurch aus, dass sie eben NICHT ähnlich sind, sondern in Beziehungen zueinander stehen.
Und sie sind normalisiert (Grundlagen)

Dies alles (zumindest bis zur dritten Normalform) lässt sich auch in Excel abbilden.
Bei kleineren Tabellen bis 10.000 Datensätzen dürfte man auch die nicht vorhandene Indexierung nicht bemerken.
Eine "echte" Mehrbenutzerumgebung ist in Excel ohnehin nicht möglich.

Dies alles hilft Dir momentan zwar nicht wirklich weiter, soll Dich aber für die Problematik sensibilisieren.

Ach so: Nein, ich werde Dir kein Beispiel programmieren!

Viel Erfolg!
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste