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.
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.
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)
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)
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:)
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
Folgende(r) 1 Nutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:1 Nutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag 28 • Xsaero
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.
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)