Discussion:
Kommentar automatisch mit Zellinhalten befüllen
(zu alt für eine Antwort)
Markus Franz
2007-08-30 18:09:01 UTC
Permalink
Hallo,



in meinem Tabellenblatt möchte ich so wenig wie möglich „ausschreiben“. Aus
diesem Grund arbeite ich vorwiegend mit Hilfe von Zahlen, welche dann über
die SVERWEIS-Funktion in der Nachbarzelle in das entsprechende Wort
umgewandelt wird, z.B. Bearbeiternummer 1 ergibt in der Folgezelle bei der
Spalte Bearbeiter die Ausgabe „Mustermann“. Das klappt soweit auch.



Da mehrere Leute mit der Tabelle arbeiten sollen, möchte ich gern eine
„Hilfestellung“ einbauen, damit man nicht immer auf dem Nachbartabellenblatt
die ganzen Listen anschauen muss.

Bis jetzt füge ich in der obersten Spalte dafür ein Kommentar ein, in
welchem dann die ganzen Daten stehen, auf die die SVERWEIS-Funktion
zugreift, also z.B. 1 = Mustermann, 2 = Meier, 3 = Schulze usw.



Die Zuordnungstabellen befinden sich auf einem anderen Tabellenblatt, wo
alle Nummern und die entsprechende „Übersetzung“ eingetragen sind (insgesamt
jeweils 4 solche Listen).



Gibt es eine Möglichkeit, dass ich z.B. mittels Makro eine automatische
„Neukommentierung“ in der (bisherigen manuell eingepflegten Variante) anhand
der jeweiligen Liste des zentralen Tabellenblatts erzeugen kann?



Vielen Dank für etwaige Lösungen.
--
Gruß
Markus
______________________________
Windows XP (SP2),
Office 2000



Antworten bitte ausschließlich in der Newsgroup!
Harald Kante
2007-08-31 07:10:51 UTC
Permalink
Hallo Markus Franz, hallo Gruppe
Post by Markus Franz
Bis jetzt füge ich in der obersten Spalte dafür ein Kommentar ein, in
welchem dann die ganzen Daten stehen, auf die die SVERWEIS-Funktion
zugreift, also z.B. 1 = Mustermann, 2 = Meier, 3 = Schulze usw.
Die Zuordnungstabellen befinden sich auf einem anderen Tabellenblatt,
wo alle Nummern und die entsprechende „Übersetzung“ eingetragen sind
(insgesamt jeweils 4 solche Listen).
Gibt es eine Möglichkeit, dass ich z.B. mittels Makro eine
automatische „Neukommentierung“ in der (bisherigen manuell
eingepflegten Variante) anhand der jeweiligen Liste des zentralen
Tabellenblatts erzeugen kann?
Folgender Lösungsansatz, muss auf deine Verhältnisse angepasst werden.

In Tabelle 1, Zelle A1 steht der Kommentar, in Tabelle 2 Spalte A die
laufende Mitarbeiter-Nummer, in Tabelle 2 Spalte B die Namen.


Sub Kommentar_aktualisieren()

Dim tab1 As Worksheet, tab2 As Worksheet, i As Long, ktxt As String

Set tab1 = Worksheets("Tabelle1")
Set tab2 = Worksheets("Tabelle2")

ktxt = ""

With tab2
For i = 2 To .Range("a65536").End(xlUp).Row
ktxt = ktxt & .Cells(i, 1).Value & " = " & .Cells(i, 2).Value _
& Chr(10)
Next i
End With

With tab1.Cells(1, 1)
On Error Resume Next
.Comment.Delete
.AddComment
.Comment.Visible = False
.Comment.Text Text:=ktxt
End With

End Sub


mfg
Harald
Markus Franz
2007-08-31 17:25:35 UTC
Permalink
Hallo Harald,

die Lösung ist echt super. Vielen Dank. Ich habe sie noch etwas angepasst
und sie läuft echt gut. Das ist eine echte Arbeitserleiterung.

Einen kleinen "Schönheitsfehler" habe ich noch. Vielleicht hast du ja auch
dazu noch eine Idee:

Wenn das Makro den Kommentar geschrieben hat, wird wie gewollt die Liste im
Kommentar erzeugt. Ist diese aber länger als ca. 5 Zeilen "verschwindet" der
Rest im "nichtsichtbaren Bereich" des Kommentars. Natürlich kann ich den
Kommentarrahmen manuell nach unten vergrößern, aber gibt es vielleicht die
Möglichkeit, dass in Abhängigkeit von der Liste, die Größe des
Kommentarrahmens sowohl nach links als auch nach unten automatisch angepasst
wird?

Viele Grüße

Markus
Harald Kante
2007-09-01 06:19:57 UTC
Permalink
Hallo Markus Franz, hallo Gruppe
Post by Markus Franz
Wenn das Makro den Kommentar geschrieben hat, wird wie gewollt die
Liste im Kommentar erzeugt. Ist diese aber länger als ca. 5 Zeilen
"verschwindet" der Rest im "nichtsichtbaren Bereich" des Kommentars.
Natürlich kann ich den Kommentarrahmen manuell nach unten vergrößern,
aber gibt es vielleicht die Möglichkeit, dass in Abhängigkeit von der
Liste, die Größe des Kommentarrahmens sowohl nach links als auch nach
unten automatisch angepasst wird?
Du hast natürlich recht, das ist mir nicht aufgefallen weil meine
Testtabelle nur vier Namen enthielt.

Füge unter der Codezeile

.Comment.Text Text:=ktxt

noch

.Comment.Shape.TextFrame.AutoSize = True

ein.

Das sollte deinen Wunsch erfüllen.

mfg
Harald
Markus Franz
2007-09-01 10:16:09 UTC
Permalink
Hallo Harald,

super.Nun klappt es wunderbar.

Dankeschön.

Viele Grüße

Markus

Loading...