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

Zellinhalte als Kommentare einfügen

Zellinhalte als Kommentare einfügen
21.05.2004 19:44:10
Rob
Hio Gurus,
bitte lasst mich nicht hängen, so knapp vorm Ziel....
ich probiers einfach nochmal, da leider noch keine Antwort auf meinen 2.Teil:
AUFGABE: folgendes Problem: möchte gerne einen Zellbereich als Kommentar in einer anderen Zelle darstellen. Also z.B.
im Blatt2 A1 steht Firma xy, darunter in A2:A5 stehen die Mitarbeiternamen der Firma xy.
im Blatt2 B1 steht Firma ab, darunter in B2:B.. stehen die Mitarbeiternamen der Firma ab
usw..
Im Blatt 1 steht in A1 "Firma xy". Beim Darüberfahren (oder Anklicken) mit der Maus sollen als Kommentar die einzelnen Namen aus Blatt2 aufscheinen. (das hätte ich im Forum ja bereits gefunden), ABER es soll AUTOMATISCH aktualisiert werden. D.h. füge ich im Blatt 2 Namen dazu, wird auch der Kommentar entsprechend angepasst.
Und dannw weiter: im Blatt1 A2 steht "Firma AB", Kommentar zeigt auf Blatt2 B1:B4, ....
1.Teil-LÖSUNG: die zwar mit einem Bereich super funktioniert - Dank ANdreas:
Private Sub Worksheet_Activate() Dim s$, i% i = 1 With Worksheets("Tabelle2") 'Alle Werte von A1 bis Axx einlesen, solange keine Leerzelle While Not IsEmpty(.Cells(i, 1)) s = s & .Cells(i, 1).Text & vbLf i = i + 1 Wend End With 'String in den vorhandenen Kommentar schreiben Range("A1").Comment.Text Text:=s End Sub
ABER
Wie kann ich machen, dass abhängig vom Zellinhalt in Blatt1 (also Firma XY oder Firma AB) im Blatt 2 auch auf die richtigen Namen verwiesen wird? Beim Überfahren (oder anklicken der Zelle) mit der Maus, soll "er" erkennen welche Firma angewählt wurde und die richtigen Namen aus Blatt2 in den Kommentar schreiben.
Kurt erwähnte was von
"Dann kannst du das SelectionChange- Ereignis der Tabelle nutzen."
aber ich kenn mich da nicht aus, wie ich das in obigen Code einbinden kann
Ich brauch das wirklich DRINGEND !
Vielen DANK im voraus für eure Hilfe
LG
Rob

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

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalte als Kommentare einfügen
21.05.2004 21:56:29
Josef
Hallo Rob!
Schreib diesen Code in das Modul der Tabelle (Blatt2).

Private Sub Worksheet_Change(ByVal Target As Range)
Dim s$, i%
i = 2
While Not IsEmpty(Cells(i, Target.Column))
s = s & Cells(i, Target.Column) & vbLf
i = i + 1
Wend
On Error Resume Next
With Sheets("Blatt1").Cells(Target.Column, 1)
.Comment.Delete
If s = "" Then
Exit Sub
Else
s = Left(s, Len(s) - 1)
End If
.AddComment
.Comment.Text Text:=s
.Comment.Shape.TextFrame.AutoSize = True
End With
End Sub

Gruß Sepp
Anzeige
AW: Zellinhalte als Kommentare einfügen
21.05.2004 22:12:49
Rob
Hi Sepp,
sorry habs probiert, da tut sich genau nix ? Was hab ich falsch gemacht?
LG
Rob
AW: Zellinhalte als Kommentare einfügen
21.05.2004 22:20:47
Josef
Hallo Rob!
Hast du den Code in das Richtige Modul kopiert?
(Rechtsklick auf Register "Blatt2" &gt Code anzeigen &gt in das Fenster den Code kopieren)
Wenn du nun in "Blatt2" einen Eintrag tätigst, werden die Zellen der jeweiligen
Spalte ab Zeile zwei, als Kommentar in die entsprechende Zelle der Spalte "A" in
"Blatt1" eingeragen.
Das war doch was du wolltest, oder hab ich dich falsch vestanden?
Gruß Sepp
AW: Zellinhalte als Kommentare einfügen
21.05.2004 22:48:17
Rob
Hi Sepp,
ja danke, habs! Wußte nicht, dass ich in Blatt 2 eingeben musste, weil die Namenslsite schon fertig war.Hab immer in Blatt 1 Firmennamen geändert, da tut sich dann nix.Aber bei Änderungen in Blatt werden sie übernommen - genial.
Noch ne Kleinigkeit: das funktioniert nur wenn die Reihenfolge der Firmennamen auf Blatt1 wie in Blatt2 transponiert eingehalten wird. Da ist es auch egal, wie der Firmenwortlaut tatsächlich heißt. D.h. auf ZellINHALT wird nicht überprüft. Aber genau das bräuchte ich. Die Firmennamen stehen irgendwo auf dem Blatt1 - also nicht immer in Spalte A. Weiters: wie kann ich den Kommentar einfügen, OHNE dass ich auf Blatt 2 was ändere. Gedacht ist es so: Auf Blatt 2 werden zuerst die Namen zu einer bestimmten Firma eingetragen, dann auf Blatt 1 der Firmenname IRGENDWO eingetragen und dann sollen automatisch als Kommentar die Mitarbeiter hinzugefügt.
Geht das auch ?
Danke für deine Bemühungen
LG
Rob
Anzeige
AW: Zellinhalte als Kommentare einfügen
21.05.2004 23:13:25
Josef
Hallo Rob!
Geht auch!
Schreib diesen Code in "Blatt1".
Die Firmen und die dazugehörigen Namen stehen in "Blatt2".
Die Firmennamen in der ersten Zeile, darunter die Namen.
Wenn du nun in "Blatt1" einen Firmennamen einträgst, wird in der
ersten Zeile von "Blatt2" danach gesucht und wenn gefunden, die
Namen als Kommentar eingetragen.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim lngRow As Long
Dim myStr As String
Set rng = Sheets("Blatt2").Rows(1).Find(what:=Target, LookIn:=xlValues, LookAt:=xlWhole)
If Not rng Is Nothing Then
lngRow = 2
While Not IsEmpty(Sheets("Blatt2").Cells(lngRow, rng.Column))
myStr = myStr & Sheets("Blatt2").Cells(lngRow, rng.Column) & vbLf
lngRow = lngRow + 1
Wend
On Error Resume Next
With Target
.Comment.Delete
On Error GoTo 0
If myStr <> "" Then
myStr = Left(myStr, Len(myStr) - 1)
.AddComment
.Comment.Text Text:=myStr
.Comment.Shape.TextFrame.AutoSize = True
End If
End With
End If
End Sub

Gruß Sepp
Anzeige
AW: Zellinhalte als Kommentare DANKE
21.05.2004 23:35:40
Rob
Hi Sepp -GENIAL !! GENAU das is es !
Danke viel.
Gute Nacht ;-)
LG
Rob
AW: Zellinhalte als Kommentare DOCH NICHT GANZ
21.05.2004 23:46:52
Rob
ich weiß, jetzt werd ich lästig, aber:
wenn ich in Blatt 2 die Namen ändere, werden sie nicht AUTOMATISCH in die Kommentare übernommen (was vorher ging). Kannst du das noch anpassen? Aber dann sollts es sein.
DAnke
LG
Rob
AW: Zellinhalte als Kommentare DOCH NICHT GANZ
21.05.2004 23:54:21
Josef
Hallo Rob!
Dann halt noch diesen Code in "Blatt2".

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim lngRow As Long
Dim myStr As String
Set rng = Sheets("Blatt1").Cells.Find(what:=Cells(1, Target.Column), LookIn:=xlValues, LookAt:=xlWhole)
If Not rng Is Nothing Then
lngRow = 2
While Not IsEmpty(Cells(lngRow, Target.Column))
myStr = myStr & Cells(lngRow, Target.Column) & vbLf
lngRow = lngRow + 1
Wend
On Error Resume Next
With rng
.Comment.Delete
On Error GoTo 0
If myStr <> "" Then
myStr = Left(myStr, Len(myStr) - 1)
.AddComment
.Comment.Text Text:=myStr
.Comment.Shape.TextFrame.AutoSize = True
End If
End With
End If
End Sub

Gruß Sepp
Anzeige
AW: Zellinhalte als Kommentare FAST
22.05.2004 00:01:34
Rob
Hi Sepp,
hältst wohl auch nix vom Schlafengehen ;-)
Das Aktualisieren klappt solange die Firma nur 1x vorkommt. Wenn gleiche Firma in Blatt1 irgendwo nochmal aufscheint, wird der Kommentar zwar 1x eingefügt, aber nicht mehr aktualisiert. Bin sicher, du hast da auch ein Lösung.
Möcht dich aber nicht um deinen Schlaf bringen.... hat auch morgen Zeit...
DAnke für deine grandiose Hilfe.
LG
Rob
AW: Zellinhalte als Kommentare FAST
22.05.2004 00:08:47
Josef
Hallo Rob!
Jetzt geh' ich dann doch ins Bett!
Das sollte es jetzt aber endgültig tun.
Gehört in "Blatt2"!

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim lngRow As Long
Dim myStr As String
Dim sFirst As String
Set rng = Sheets("Blatt1").Cells.Find(what:=Cells(1, Target.Column), LookIn:=xlValues, LookAt:=xlWhole)
If Not rng Is Nothing Then
sFirst = rng.Address
lngRow = 2
While Not IsEmpty(Cells(lngRow, Target.Column))
myStr = myStr & Cells(lngRow, Target.Column) & vbLf
lngRow = lngRow + 1
Wend
On Error Resume Next
With rng
.Comment.Delete
On Error GoTo 0
If myStr <> "" Then
myStr = Left(myStr, Len(myStr) - 1)
.AddComment
.Comment.Text Text:=myStr
.Comment.Shape.TextFrame.AutoSize = True
End If
End With
Do
Set rng = Sheets("Blatt1").Cells.FindNext(after:=rng)
If rng.Address = sFirst Then Exit Do
On Error Resume Next
With rng
.Comment.Delete
On Error GoTo 0
If myStr <> "" Then
myStr = Left(myStr, Len(myStr) - 1)
.AddComment
.Comment.Text Text:=myStr
.Comment.Shape.TextFrame.AutoSize = True
End If
End With
Loop
End If
End Sub

Gruß Sepp
Anzeige
AW: Zellinhalte als Kommentare PERFEKT
22.05.2004 00:17:57
Rob
Jetzt hamma´s !
Danke Sepp und eine wohlverdiente
Gute Nacht ;-)
Ein äußerst zufriedener
Rob
AW: Zellinhalte als Kommentare einfügen
21.05.2004 22:18:03
Rob
Hab die TestDatei hochgeladen.
https://www.herber.de/bbs/user/6602.xls
Vielleicht hilft das beim Erstellen.
Vielen Dank allen Helferleins...
LG
Rob

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige