Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1876to1880
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
Inhaltsverzeichnis

mit VBA Kommentare eintragen

mit VBA Kommentare eintragen
15.04.2022 15:23:29
Die
Hallo, mit Hilfe dieses Forums (DANKE) habe ich ein Makro erstellt, dass Kommentare aus einer Tabelle ausliest und in eine Sicherungsdatei schreibt. Hintergrund ist, dass öfters Texte 'verschwunden' sind; beim Neustart waren die Kommentare nicht mehr vorhanden. Ein Problem, das auch von anderen Usern berichtet wird. Das Makro läuft, soweit ich das beurteilen kann, einwandfrei. In dem gesicherten Bereich habe ich derzeit ca. 8.400 Kommentare stehen.
Nun meine Bitte: gibt es eine Möglichkeit, diese gespeicherten Daten auch wieder in diese oder eine neue Tabelle reinzuschreiben? Quasi eine Rücksicherung der gespeicherten Kommentare? Bei der Sicherung wird ja die Adresse (in der Form 'A1') in eine Spalte und der unformatierte Kommentartext in eine andere Spalte geschrieben. Die Adresse könnte man ja auseinander reißen, um Spalte und Zelle als getrennte Information zu erhalten. Dann müsste mit einer Schleife Zeile für Zeile in die Tabelle eingesetzt werden. Meine Versuche sind leider alle gescheitert. Die Schleife und die Zuordnung funktionierten einfach nicht.
Danke für Hinweise
Viele Grüße schickt
Die Johanna
P.S. Eigentlich wollte ich den Code hier reinschreiben. Beim hochladen steht dann aber immer "html" (ohne Auf- u. Abstrich) auf der sonst leeren Seite, abgeschickt wird es nicht. Hat jemand eine Idee, warum das nicht klappt?

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit VBA Kommentare eintragen
15.04.2022 16:02:40
ralf_b
den code in Zitat 'pre' tags einschließen .
AW: mit VBA Kommentare eintragen
15.04.2022 16:19:32
Oberschlumpf
Hi,
warum nur Code zeigen? Zeig doch per Upload eine Bsp-Datei mit Bsp-Daten.
Ciao
Thorsten
AW: mit VBA Kommentare eintragen
15.04.2022 17:29:13
Die
Hallo, was soll denn ein Upload bringen? Ich habe eine Excelliste, in denen auf einem Tabellenblatt 'K' ca. 8400 Zeilen wie folgt aussehen:
Spalte A: Name
Spalte B: Vorname
Spalte C: Kundennr.
Spalte D (ab hier wird es interessant): Adresse im Format 'A1'
Spalte E: Inhalt des Kommentars
Beispiel (Spalte A, B, C ist unerheblich):
Spalte D: OH115
Spalte E: Die Johanna: Kunde ruft an und meldet sich krank. AU angefordert.
Es macht nun m.E. wenig Sinn, mir 8.400 neue, datenschutzkonforme Texte auszudenken.
Mein Wunsch wäre, dass ein Makro in einem anderen Tabellenblatt 'TN-Dat' in Zelle OH115 ein Kommentar anlegt, in dem 'Die Johanna: Kunde ruft an und meldet sich krank. AU angefordert." reingeschrieben wird. Dann springt das Makro auf die nächste Zeile, in der eine andere Adresse mit einem anderen Text angelegt wird.
Ist es so verständlich? In der Liste steht sonst nichts, man kann da keine einzige Formel nachvollziehen, weil ja nur die Daten eines anderen Prozesses dort abgelegt.
Danke für Hilfe
Die Johanna
Hier das Makro, was die Kommentare speichert:

Sub Kommentare()
Dim i As Long, n As Long
Dim rngC As Range
Dim varCom As Variant
Dim dname As String
Dim dateiname As String
Dim aktpfad As String
Dim pfad As String
Dim v
n = Sheets("TN-Dat").Comments.Count
i = 1
ReDim varCom(1 To n, 1 To 5)
For Each rngC In Sheets("TN-Dat").Range("GS11:AGQ500").SpecialCells(xlCellTypeComments)
varCom(i, 1) = Sheets("TN-Dat").Range("B" & rngC.Row).Value
varCom(i, 2) = Sheets("TN-Dat").Range("C" & rngC.Row).Value
varCom(i, 3) = Sheets("TN-Dat").Range("I" & rngC.Row).Value
varCom(i, 4) = rngC.Address(0, 0)
varCom(i, 5) = rngC.Comment.Text
i = i + 1
Next
Worksheets("K").Visible = True
With Sheets("K")
.Range("A2:G12000").ClearContents
.Range("A2").Resize(n, 5) = varCom
End With
dateiname = "Kommentare_"
dname = Format(Date, "YYYY_MM_DD")
aktpfad = ThisWorkbook.Path
pfad = aktpfad & "\Archiv\Kommentare\"
Worksheets("K").Copy
ActiveWorkbook.SaveAs pfad & dateiname & dname
ActiveWorkbook.Close
Worksheets("K").Visible = False
End Sub

Anzeige
AW: mit VBA Kommentare eintragen
15.04.2022 17:31:53
Oberschlumpf
viel Erfolg!
AW: mit VBA Kommentare eintragen
15.04.2022 17:49:45
onur
"was soll denn ein Upload bringen?" - Wenn du HILFE willst, solltest du es uns überlassen, zu entscheiden, WAS wir brauchen, um dir helfen zu können.
"Ist es so verständlich? " ? DU kapierst es nicht ! Was erwartest du jetzt ? Dass WIR deine Tabelle anhand deiner Beschreibung nachbauen, damit wir deinen Code testen bzw einen neuen Code deiner Tabelle anpassen, um DIR helfen zu können ?
Oder willst du irgend einen ungetesteten Code von uns? Selbst ein Auftragsprogrammierer würde eine (Beispiels-) Datei von dir verlangen.
AW: mit VBA Kommentare eintragen
16.04.2022 15:54:40
Die
Hallo, es zwingt dich ja niemand, mir zu helfen. Die Frage war, ob jemand eine Idee hat, wie sinnvoll eine Reihe von Kommentaren in eine Datei geladen werden kann. Die neue Datei gibt es noch nicht, die soll ja eben neu erstellt werden. Ich kann aber keine noch nicht vorhandene Datei hochladen. Die Kommentare sind doch vom Inhalt her völlig unerheblich. Es sind halt Textfetzen. Alle Adressen stehen in einer Spalte, alle Texte stehen in einer anderen Spalte. Ich habe jetzt eine Beispieldatei hochgeladen, bin mir jedoch ziemlich sicher, dass sie für die Frage nicht erheblich ist - https://www.herber.de/bbs/user/152484.xlsx
Danke dennoch, dass du dich mit der Frage beschäftigst. Sorry, falls ich dich - womit auch immer - verärgert habe.
Freundliche Grüße
Die Johanna
Anzeige
AW: mit VBA Kommentare eintragen
15.04.2022 18:17:26
snb
Verwende 'Data Validation' statt Kommentare.
Oder ein Userform.
8400 Kommentare scheint mir ziemlich 'over the top'
AW: mit VBA Kommentare eintragen
16.04.2022 16:06:13
Die
Hallo snb,
danke für deine Hinweise, die ich allerdings nicht so richtig verstanden habe. Vielleicht waren meine Angaben doch zu missverständlich. Es handelt sich um eine Kundenliste mit reichlich zusätzlichen Funktionen. Außer den üblichen persönlichen Angaben werden auch Anwesenheiten, Fahrtkosten etc. erfasst. Bei Abweichungen werden Kommentare dazu geschrieben - z.B. bei Krankheit, einem Anruf, dass der Kunde später kommt, Uhrzeiten für Gespräche etc. Es muss eine Info zu einer bestimmten Zelle erfolgen, z.B. warum ist die Kundin heute nicht erschienen oder an welchem Tag frage ich nochmals nach. Eine Userform ist m.E. - allerdings bin ich da noch kein Experte - für diese Anwendung kein besonders geeignetes Instrument.
Was meinst du in diesem Zusammenhang mit Validierung? Danke für eine Info.
Viele Grüße und ein schönes Osterfest
Die Johanna
Anzeige
noch mal von vorne! :-)
16.04.2022 18:03:48
vorne!
Hi Johanna
zuerst möchte ich mich bei dir entschuldigen für mein "Behnehmen" - DAS muss SO nicht sein!
(wenn du magst, kannst du dir auch diese Antwort von mir an einen anderen user durchlesen; im Kern hätt ich all das auch dir schreiben können:
https://www.herber.de/forum/messages/1879793.html ; wird das, was ich meine, nicht sofort gezeigt, dann schau dir meine Antwort von heute, um 17:14:21 Uhr an)
Also...ich hab noch immer n paar Fragen + Infos
Erst mal danke für nun doch eine Bsp-Datei.
Aber dabei scheint es sich nur um deine Zieldatei zu handeln. Und in diese willst du ja, wenn ich richtig verstanden habe,die Spalten A bis C und die zugehörigen Kommentare inklusive Zell-Adresse jeden Kommentars sichern, oder?
Ich kann deinen gezeigten Code, der übrigens sehr sauber und effizient aussieht, leider noch nicht testen/anpassen wenn erforderlich, weil uns noch ein Beispiel deiner "Quelltabelle" mit dem Namen "TN-Dat" fehlt.
Würde ich ein Blatt in deiner oder neuen Datei in "TN-Dat" umbenennen, und deinen Code starten, wäre ja das Ergebnis in Tabelle "K" = LEER, weil es ja in "TN-Dat" keine Bsp-Daten gibt.
Zum Testen würde es übrigens reichen, wenn deine zusätzliche Bsp-Datei oder Tabelle in der gleichen Datei wie "K" nur so 10 bis 20 Datenzeilen enthält.
Es ist ja egal, ob 20 oder 1000 Datenzeilen ausgelesen/übertragen werden. Dein Code wäre bei 20 Zeilen nur schneller fertig als bei 1000 :-), aber der Code macht ja immer das Gleiche.
Eine Frage noch (nur interessehalber, hat nix mit einer vielleicht-Lösung für dich zu tun)
Dein Code liest in "TN-DAT" den Zellbereich "GS11:AGQ500" aus.
WAS BITTE IST DAS DENN für eine riesige Datei? AGQ ist die 875. Spalte!!!
Hammer!
Ciao
Thorsten
...also: von vorne und auf Gutes Gelingen! :-)
Anzeige
...noch etwas...
16.04.2022 18:19:52
Oberschlumpf
Hello again :-)
in der anderen Bsp-Datei mit Tabelle "TN-DAT" musst du die Kommentare nicht im "Original-Zellbereich" eintragen!
Es würde auch reichen, wenn du z Bsp nur die Spalten bis M oder so nutzt - (M is nur n Bsp! Nutzen kannst du natürlich jede Spalte)
Es müsste der Code dann nur angepasst werden, erst mal...für die Bsp-Dateien - denn es is ja egal, ob der Code bis Spalte AGQ oder nur bis Spalte M ausliest - grundsätzlich macht der Code im weiteren Verlauf ja das Gleiche.
Ach ja, auch noch vergessen:
Ich bin deswegen SO EIN FAN von Bsp-Dateien, weil es tatsächlich schon sehr oft vorkommt, dass sich der Eine oder die Andere missverständlich ausdrückt - und wir dann Beschreibungen falsch verstehen, weil diese nicht richtig waren.
In gezeigten Bsp-Dateien SIEHT JEDER, was woher kommt und was wohin soll - da brauchts dann oft gar nicht weiterer Beschreibungen.
Ciao
Thorsten
Anzeige
AW: noch mal von vorne! :-)
16.04.2022 19:22:59
vorne!
Hallo Oberschlumpf,
danke für deine Antwort und für die Entschuldigung. Ich kann auch seehhr ungeduldig sein, insofern bin ich dir keineswegs böse. Deine Reaktion finde ich sehr mutig; das ist echt toll.
Jetzt zu der Datei. Scheinbar ist mein Anliegen nicht klar geworden, dadurch kam es zu dem Missverständnis. Betrachte zwei völlig unabhängige Vorgänge:
1.) aus einem bestehenden Blatt 'TN-Dat' werden alle Kommentare ausgelesen und in ein Blatt 'K' geschrieben. Dieses Blatt wird unter dem Erstell-Datum abgespeichert. Hiermit ist der erste Teil beendet. Das läuft wirklich gut, ich sichere i.d.R. wöchentlich diese Kommentare. Die komplette Datei wird morgens beim ersten Öffnen automatisch gesichert. Den Code wollte ich nur veröffentlichen, weil ich nicht immer nur Fragen stellen möchte, sondern auch mal ein Ergebnis zeigen. Vielleicht brauchts ein anderer auch mal.
2.) nun wäre es klasse, wenn ich die Daten aus K in ein neues Sheet 'TN-Dat' oder in eine komplett neue Datei mit dem Tabellenblatt 'TN-Dat' neu schreiben könnte. Die anderen Daten kann ich ebenfalls übertragen, das bekomme ich hin. Nur die Kommentare fehlen noch. Ich kann damit einen Klon der ersten Datei erstellen. Dieser Klon ist stabiler als eine Kopie. Habe ich zig-mal getestet, ist so. Excel säubert nicht korrekt den Code. Wenn du lange in der selben großen Datei arbeitest, wird die immer größer und größer. Dem wirke ich entgegen, wenn ich den Inhalt möglichst sauber in eine neue Datei einfüge. Die ist dann gut halb, max. 2/3 so groß, schneller und stabiler. Ein anderer Einsatzweck wäre die Rücksicherung. Also ich lösche alle bestehenden Kommentare in der derzeit aktiven Datei und spiele sozusagen die letzte Sicherung wieder ein.
Das hat aber alles mit dem Code und mit dem ersten Teil nichts zu tun. Die Daten könnten auch frei erfunden in dieser Liste stehen.
Ist es jetzt klarer? Benötigst du die Daten? Dann würde ich eine neue Datei mit den Fake-Namen aufbauen und ein paar Kommentare reinschreiben. Die letzte genutzte Spalte ist übrigens die CND (2396). Damit nicht genug, sie ist für derzeit 26 Kollegen freigegeben, von denen so 12-15 an normalen Tagen darin arbeiten. Die meisten Teile der Datei sind seit ca. 10 Jahren im Einsatz. Dieses Teil-Projekt, was in der Datei bearbeitet wird, läuft seit 2016, die letzte Komplett-Überarbeitung stammt vom März 2021. Und ja, dafür ist Excel eigentlich nicht gedacht, eine Datenbank wäre schneller, stabiler und überhaupt. Aber diese Entscheidung treffe nicht ich, mir obliegt nur die Pflege. Außerdem gibt es inkl. mir etliche Excel-Liebhaber, wir wollen uns gar nicht davon trennen. ;-)
Viele Grüße
Die Johanna
Anzeige
AW: noch mal von vorne! :-)
17.04.2022 18:45:05
vorne!
Hi Johanna
Frohe Ostern!
Und hier nun meine Idee:
https://www.herber.de/bbs/user/152505.xlsm
Zuerst wird eine neue Datei erstellt.
Diese wird unter "TN-Dat Zeitstempel.xlsx" gespeichert
Zeitstempel = 17042022_184244
steht für Datum + Uhrzeit
Danach werden "in einem Rutsch", na ja, dann doch Zeile für Zeile die Kommentare aus "K", Spalte E in die neue Datei/Tabelle, in die jeweiligen Zielzellen, die in "K" in Spalte D stehen, eingetragen.
Wenn fertig, hast du in der neuen Datei/Tabelle viele rote Dreiecke in vielen Zellen.
Konnte ich helfen?
Ciao
Thorsten
Anzeige
Super - danke - gelöst
18.04.2022 13:21:26
Die
Hallo Thorsten,
konntest du helfen? Aber sicher! Habe es jetzt in echt getestet. Es kam mal zwischendrin ein Laufzeitfehler 1004. Da war ein Kommentar leer, den habe ich dann rausgelöscht. Es waren - Stand heute - genau 8820 Kommentare. Diese wurde in 23 Sekunden eingespielt.
Vielen, vielen Dank für die tolle Arbeit!
Sonnige Grüße
Die Johanna

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige