Discussion:
Kommentare in Zellen verschieben
(zu alt für eine Antwort)
Volker Waibel
2006-01-20 21:28:53 UTC
Permalink
Halöle

Ich habe eine Liste mit 5 Spalten
In der ersten sind in jeder Zeile Kommentare enthalten
Ich möchte diese Kommentare nun in eine eigene Spalte bringen, passend in
jeder Zeile
Kann mir jemand sagen wie Ich das mit allen (ca.2000 Zeilen) auf einmal
machen kann
Später soll die Tabelle in Access exportiert werden und die Kommentare als
eigenes Feld erscheinen

Gruss

V.Waibel
Michael Schüller
2006-01-20 22:02:49 UTC
Permalink
Hallo Volker,
Post by Volker Waibel
Ich habe eine Liste mit 5 Spalten
In der ersten sind in jeder Zeile Kommentare enthalten
Ich möchte diese Kommentare nun in eine eigene Spalte bringen,
passend in jeder Zeile
Kann mir jemand sagen wie Ich das mit allen (ca.2000 Zeilen) auf
einmal machen kann
Später soll die Tabelle in Access exportiert werden und die
Kommentare als eigenes Feld erscheinen
Versuch's damit:

Sub Makro1()
Dim vRow As Integer

With ThisWorkbook.Sheets(1)

For vRow = 1 To .UsedRange.Rows.Count
If Not .Cells(vRow, 1).Comment Is Nothing Then
.Cells(vRow, 5) = .Cells(vRow, 1).Comment.Text
End If
Next vRow

End With

End Sub

".Cells(vRow, 5)..." fügt den Kommentar in Spalte E (5) ein. Diese Zeile
musst Du ggf. anpassen.


Hoffe, ich konnte Dir helfen.


Schönen Gruß
--
Michael
***@gmx.de
Volker Waibel
2006-01-21 01:14:19 UTC
Permalink
Hallo Michael

erstmal danke
jetzt musst du mir nur noch sagen wie das das makro erstelle bzw. ablaufen
lasse

Gruss

Volker
Post by Michael Schüller
Hallo Volker,
Post by Volker Waibel
Ich habe eine Liste mit 5 Spalten
In der ersten sind in jeder Zeile Kommentare enthalten
Ich möchte diese Kommentare nun in eine eigene Spalte bringen,
passend in jeder Zeile
Kann mir jemand sagen wie Ich das mit allen (ca.2000 Zeilen) auf
einmal machen kann
Später soll die Tabelle in Access exportiert werden und die
Kommentare als eigenes Feld erscheinen
Sub Makro1()
Dim vRow As Integer
With ThisWorkbook.Sheets(1)
For vRow = 1 To .UsedRange.Rows.Count
If Not .Cells(vRow, 1).Comment Is Nothing Then
.Cells(vRow, 5) = .Cells(vRow, 1).Comment.Text
End If
Next vRow
End With
End Sub
".Cells(vRow, 5)..." fügt den Kommentar in Spalte E (5) ein. Diese Zeile
musst Du ggf. anpassen.
Hoffe, ich konnte Dir helfen.
Schönen Gruß
--
Michael
Melanie Breden
2006-01-20 22:06:29 UTC
Permalink
Hallo Volker,
Post by Volker Waibel
Ich habe eine Liste mit 5 Spalten
In der ersten sind in jeder Zeile Kommentare enthalten
Ich möchte diese Kommentare nun in eine eigene Spalte bringen, passend in
jeder Zeile
Kann mir jemand sagen wie Ich das mit allen (ca.2000 Zeilen) auf einmal
machen kann
Später soll die Tabelle in Access exportiert werden und die Kommentare als
eigenes Feld erscheinen
willst du die Kommentare selbst verschieben, oder den Text der Kommentare
in Zellen ausgeben?

Um sie zu verschieben, markiere die ganze Spalte mit den Kommentaren und
kopiere sie. Makiere dann die Zielspalte und drücke die rechte Maustaste.
Wähle 'Inhalte einfügen -> [x] Kommentare.

Um die Kommentare in der Ursprungsspalte zu löschen, markiere diese Spalte
erneut und drücke 'Strg + G' -> Inhalte -> [x]Kommentare -> OK.
Mit Rechtsklick und 'Kommentare löschen' werden dann alle Kommentare im
markierten Bereich gelöscht.

Um die Kommentartexte in Zellen zu übertragen braucht es eine VBA-Prozedur.
Wenn du daran Interesse hast, melde dich noch mal.


Mit freundlichen Grüssen
Melanie Breden
--
- Microsoft MVP für Excel -
Microsoft Excel - Die ExpertenTipps http://tinyurl.com/cmned
Das Excel-VBA Codebook http://excel.codebooks.de
Excel-Auftragsprogrammierung
Volker Waibel
2006-01-21 01:20:42 UTC
Permalink
Hallo Melanie

Um die Kommentartexte in Zellen zu übertragen braucht es eine VBA-Prozedur.
Wenn du daran Interesse hast, melde dich noch mal.
das wäre das was ich brauche, aber bitte für Dumme

Danke erst mal

Volker
Post by Michael Schüller
Hallo Volker,
Post by Volker Waibel
Ich habe eine Liste mit 5 Spalten
In der ersten sind in jeder Zeile Kommentare enthalten
Ich möchte diese Kommentare nun in eine eigene Spalte bringen, passend in
jeder Zeile
Kann mir jemand sagen wie Ich das mit allen (ca.2000 Zeilen) auf einmal
machen kann
Später soll die Tabelle in Access exportiert werden und die Kommentare als
eigenes Feld erscheinen
willst du die Kommentare selbst verschieben, oder den Text der Kommentare
in Zellen ausgeben?
Um sie zu verschieben, markiere die ganze Spalte mit den Kommentaren und
kopiere sie. Makiere dann die Zielspalte und drücke die rechte Maustaste.
Wähle 'Inhalte einfügen -> [x] Kommentare.
Um die Kommentare in der Ursprungsspalte zu löschen, markiere diese Spalte
erneut und drücke 'Strg + G' -> Inhalte -> [x]Kommentare -> OK.
Mit Rechtsklick und 'Kommentare löschen' werden dann alle Kommentare im
markierten Bereich gelöscht.
Um die Kommentartexte in Zellen zu übertragen braucht es eine
VBA-Prozedur.
Wenn du daran Interesse hast, melde dich noch mal.
Mit freundlichen Grüssen
Melanie Breden
--
- Microsoft MVP für Excel -
Microsoft Excel - Die ExpertenTipps http://tinyurl.com/cmned
Das Excel-VBA Codebook http://excel.codebooks.de
Excel-Auftragsprogrammierung
Melanie Breden
2006-01-21 08:10:28 UTC
Permalink
Hallo Volker,
Post by Volker Waibel
Post by Melanie Breden
Um die Kommentartexte in Zellen zu übertragen braucht es eine VBA-Prozedur.
Wenn du daran Interesse hast, melde dich noch mal.
das wäre das was ich brauche, aber bitte für Dumme
als dumm würde ich dich nicht bezeichnen, sondern einfach als Anfänger ;-)

Klicke mit der rechten Maustaste auf den Tabellenregister und wähle 'Code anzeigen'.
Im VBA-Editor ist auf der linken Seite im Projekt Explorer das Modul der
Tabelle markiert. Führe wieder einen Rechtsklick aus und wähle 'Modul einfügen'.
Füge dann in das rechte obere Fenster folgende Prozedur ein:

Public Sub KommentareAuslesen()
' vor Makroaufruf Zelle in Spalte der Kommentare markieren
Dim rngCom As Range

With Columns(ActiveCell.Column)
' Spalte einfügen
.Offset(0, 1).Insert Shift:=xlToRight

On Error Resume Next
For Each rngCom In .SpecialCells(xlCellTypeComments)

If Err.Number > 0 Then
MsgBox "Keine Kommentarzellen vorhanden"
Exit Sub
End If

rngCom.Offset(0, 1).Value = rngCom.Comment.Text
Next rngCom

' Kommenatre löschen
.SpecialCells(xlCellTypeComments).ClearComments
End With
End Sub

Wechsel wieder zur Excel Ansicht und markiere eine Zelle in der Spalte
mit den Kommentaren.
Rufe die Prozedur über den Menüpunkt 'Extras/Makro/Makros' aus,
indem du das Makro in der Liste markierst und auf 'Ausführen' klickst.

Wenn du das Makro nicht weiter verwendet möchtest kannst du es löschen,
indem du im VBA Editor mit rechts auf das 'Modul1' im Projekt Explorer klickst
und 'Entfernen von Modul1' wählst.


Mit freundlichen Grüssen
Melanie Breden
--
- Microsoft MVP für Excel -
Microsoft Excel - Die ExpertenTipps http://tinyurl.com/cmned
Das Excel-VBA Codebook http://excel.codebooks.de
Excel-Auftragsprogrammierung
Volker Waibel
2006-01-21 12:06:04 UTC
Permalink
Hallo Melanie

Hat super geklappt, war genau das was ich brauchte, vielen, vielen Dank
Vielleicht noch eine Zusatzfrage, kann man bei der Übernahme den Verfasser
weglassen
Ich mein das was immer schon drinsteht wenn ich einen Kommentar hinzufüge

Gruss

Volker
Post by Michael Schüller
Hallo Volker,
Post by Volker Waibel
Post by Melanie Breden
Um die Kommentartexte in Zellen zu übertragen braucht es eine VBA-Prozedur.
Wenn du daran Interesse hast, melde dich noch mal.
das wäre das was ich brauche, aber bitte für Dumme
als dumm würde ich dich nicht bezeichnen, sondern einfach als Anfänger ;-)
Klicke mit der rechten Maustaste auf den Tabellenregister und wähle 'Code anzeigen'.
Im VBA-Editor ist auf der linken Seite im Projekt Explorer das Modul der
Tabelle markiert. Führe wieder einen Rechtsklick aus und wähle 'Modul einfügen'.
Public Sub KommentareAuslesen()
' vor Makroaufruf Zelle in Spalte der Kommentare markieren
Dim rngCom As Range
With Columns(ActiveCell.Column)
' Spalte einfügen
.Offset(0, 1).Insert Shift:=xlToRight
On Error Resume Next
For Each rngCom In .SpecialCells(xlCellTypeComments)
If Err.Number > 0 Then
MsgBox "Keine Kommentarzellen vorhanden"
Exit Sub
End If
rngCom.Offset(0, 1).Value = rngCom.Comment.Text
Next rngCom
' Kommenatre löschen
.SpecialCells(xlCellTypeComments).ClearComments
End With
End Sub
Wechsel wieder zur Excel Ansicht und markiere eine Zelle in der Spalte
mit den Kommentaren.
Rufe die Prozedur über den Menüpunkt 'Extras/Makro/Makros' aus,
indem du das Makro in der Liste markierst und auf 'Ausführen' klickst.
Wenn du das Makro nicht weiter verwendet möchtest kannst du es löschen,
indem du im VBA Editor mit rechts auf das 'Modul1' im Projekt Explorer klickst
und 'Entfernen von Modul1' wählst.
Mit freundlichen Grüssen
Melanie Breden
--
- Microsoft MVP für Excel -
Microsoft Excel - Die ExpertenTipps http://tinyurl.com/cmned
Das Excel-VBA Codebook http://excel.codebooks.de
Excel-Auftragsprogrammierung
Melanie Breden
2006-01-21 12:54:35 UTC
Permalink
Hallo Volker,
Post by Volker Waibel
Hat super geklappt, war genau das was ich brauchte, vielen, vielen Dank
Vielleicht noch eine Zusatzfrage, kann man bei der Übernahme den Verfasser
weglassen
Ich mein das was immer schon drinsteht wenn ich einen Kommentar hinzufüge
änder die Prozedur wie folgt:

Public Sub KommentareAuslesen()
' vor Makroaufruf Zelle in Spalte der Kommentare markieren
Dim rngCol As Range
Dim rngCom As Range
Dim lngChr As Long

With Columns(ActiveCell.Column)
On Error Resume Next
Set rngCol = .SpecialCells(xlCellTypeComments)
If Err.Number > 0 Then
MsgBox "Keine Kommentarzellen vorhanden"
Exit Sub
End If

' Spalte einfügen
.Offset(0, 1).Insert Shift:=xlToRight

' Kommentar ohne Autor übernehmen
For Each rngCom In rngCol
With rngCom.Comment
lngChr = Evaluate("=FIND("":"",""" & .Text & """)") + 1
rngCom.Offset(0, 1).Value = VBA.Right(.Text, Len(.Text) - lngChr)
End With
Next rngCom

' Kommentare löschen
rngCol.ClearComments
End With
End Sub


Mit freundlichen Grüssen
Melanie Breden
--
- Microsoft MVP für Excel -
Microsoft Excel - Die ExpertenTipps http://tinyurl.com/cmned
Das Excel-VBA Codebook http://excel.codebooks.de
Excel-Auftragsprogrammierung
Volker Waibel
2006-01-21 14:11:40 UTC
Permalink
Hallo Melanie

Hab die Prozedur durchlaufen lassen
der Autor ist aber immer noch drin
kann es daran liegen das es verschiedene sind, da die Tabelle auf mehreren
Rechner erstellt wurde
und dadurch verschiedene Autoren vorhanden sind

Gruss Volker
Post by Michael Schüller
Hallo Volker,
Post by Volker Waibel
Hat super geklappt, war genau das was ich brauchte, vielen, vielen Dank
Vielleicht noch eine Zusatzfrage, kann man bei der Übernahme den Verfasser
weglassen
Ich mein das was immer schon drinsteht wenn ich einen Kommentar hinzufüge
Public Sub KommentareAuslesen()
' vor Makroaufruf Zelle in Spalte der Kommentare markieren
Dim rngCol As Range
Dim rngCom As Range
Dim lngChr As Long
With Columns(ActiveCell.Column)
On Error Resume Next
Set rngCol = .SpecialCells(xlCellTypeComments)
If Err.Number > 0 Then
MsgBox "Keine Kommentarzellen vorhanden"
Exit Sub
End If
' Spalte einfügen
.Offset(0, 1).Insert Shift:=xlToRight
' Kommentar ohne Autor übernehmen
For Each rngCom In rngCol
With rngCom.Comment
lngChr = Evaluate("=FIND("":"",""" & .Text & """)") + 1
rngCom.Offset(0, 1).Value = VBA.Right(.Text, Len(.Text) - lngChr)
End With
Next rngCom
' Kommentare löschen
rngCol.ClearComments
End With
End Sub
Mit freundlichen Grüssen
Melanie Breden
--
- Microsoft MVP für Excel -
Microsoft Excel - Die ExpertenTipps http://tinyurl.com/cmned
Das Excel-VBA Codebook http://excel.codebooks.de
Excel-Auftragsprogrammierung
Melanie Breden
2006-01-21 15:00:16 UTC
Permalink
Hallo Volker,
Post by Volker Waibel
Hab die Prozedur durchlaufen lassen
der Autor ist aber immer noch drin
kann es daran liegen das es verschiedene sind, da die Tabelle auf mehreren
Rechner erstellt wurde und dadurch verschiedene Autoren vorhanden sind
in der Prozedur wird nach dem ersten Doppelpunkt gesucht und
der verherige Text abgeschnitten, funktioniert bei meinen Tests einwandfrei.
Wie sind deine Kommentare aufgebaut?

Man könnte auch nach dem ersten Zeilenumbruch suchen.
Tausche dazu folgenden Codeblock aus:

' Kommentar ohne Autor übernehmen
For Each rngCom In rngCol
With rngCom.Comment
lngChr = Evaluate("=FIND(CHAR(10),""" & .Text & """)")
rngCom.Offset(0, 1).Value = VBA.Right(.Text, Len(.Text) - lngChr)
End With
Next rngCom


Mit freundlichen Grüssen
Melanie Breden
--
- Microsoft MVP für Excel -
Microsoft Excel - Die ExpertenTipps http://tinyurl.com/cmned
Das Excel-VBA Codebook http://excel.codebooks.de
Excel-Auftragsprogrammierung
Volker Waibel
2006-01-21 15:53:50 UTC
Permalink
Halöle

Klappt so noch nicht
Hier 2 Beispiele von den Kommentaren

zottel21:
Krieg der Welten - Staffel 1 Die Auferstehung

0.Die Auferstehung (The Resurrection, Regie:Colin Chilvers) [Pilotfilm]
1. Zielort Jericho (The Walls of Jericho, R:Colin Chilvers)
2. Still ruht der See (Thy Kingdom come, R:Winrich Kolbe)
3. Willkommen in Beeton (A Multitude of Idols, R:Neill Fearnley)
4. Delikate Rosen (Eye for an Eye, R:Mark Sobel)
5. Spuren der Vergangenheit (The second Seal, R:Neill Fearnley)
6. Spiel der Mutanten (Goliath is my Name, R:George Bloomfield)
7. Heilt die Aussaetzigen (To heal the Leper, R:William Fruet)
8. Der gute Samariter (The good Samaritan, R:Paul Tucker)
9. Katya (Epiphany, R:Neill Fearnley)
10. Die Philister sind unter uns (Among the Philistines, R:William Fruet)
11. Die Macht der Suggestion (Choirs of Angels, R:Herbert Wright)
12. Das Vermaechtnis der Westekestis (Dust To Dust, R:George Bloomfield)
13. Zuechten fuer die Forschung (He Feedeth Among the Lilies,R:George
Bloomfield)
14. Quinn (The Prodigal Son, R:George McCowan)
15. Ausflug mit Molly (The Meek shall inherit, R:William Fruet)
16. Uns ist ein Kind geboren (Unto us a Child is born, R:G.Bloomfield)
17. Das Philadelphia-Treffen (The last Supper, R:George McCowan)
18. Mein ist die Rache (Vengeance is mine, R:George Bloomfield)
19. Der Reporter des Teufels (My Soul to keep, R:William Fruet)
20. Die Killerdroge (So shall ye reap, R:George Bloomfield)
21. Projekt 9 (The Raising of Lazarus, R:Neill Fearnley)
22. Engel des Todes (The Angel of Death, R:Herbert Wright)

.:
Krieg der Welten - Staffel 2 Die zweite Generation

23. Die zweite Generation (The second Wave, R:Francis Delia)
24. Der Diener Gottes (No Direction Home, R:Mark Sobel)
25. Wasser!!! (Doomsday, R:Timothy Bond)
26. Scavenger-Rock (Terminal Rock, R:Gabriel Pelletier)
27. Die Brut des Boesen (Breeding Ground, R:Armand Mastroianni)
28. Die Hohepriesterin von Enum (Seft of Emun, R:William Fruet)
29. Zarte Bande (Loving the Alien, R:Otta Hanus)
30. Treibhauseffekt (Night moves, R:Mark Sobel)
31. Der Stoff,aus dem die Traeume sind (Synthetic Love, R:Francis Delia)
32. Computerspiele (The Defector, R:Armand Mastroianni)
33. Reise in die Vergangenheit (Time to reap, R:Joseph L.Scanlan)
34. Der Rattenfaenger (The Pied Piper, R:Allan Eastman)
35. Ein Tropfen Leben (The deadliest Disease, R:William Fruet)
36. Ewiges Leben (Path of Lies, R:Allan Eastman)
37. Eine Kerze in der Nacht (Candle in the Night, R:Armand Astroianni)
38. Der Video Messias (Video Messiah, R:Gabrielle Pelletier)
39. Spiel auf Leben und Tod (Totally Real, R:William Fruet)
40. Max (Max, R:Jorge Montesi)
41. Kopfgeldjaeger (The true Believer, R:Armand Mastroianni)
42. Die telesischen Sporen (The Obelisk, R:William Fruet)


wobei zottel21:
und .:
in der ersten Zeile des Kommentars als Autor stehen

Gruss Volker
Post by Michael Schüller
Hallo Volker,
Post by Volker Waibel
Hab die Prozedur durchlaufen lassen
der Autor ist aber immer noch drin
kann es daran liegen das es verschiedene sind, da die Tabelle auf mehreren
Rechner erstellt wurde und dadurch verschiedene Autoren vorhanden sind
in der Prozedur wird nach dem ersten Doppelpunkt gesucht und
der verherige Text abgeschnitten, funktioniert bei meinen Tests einwandfrei.
Wie sind deine Kommentare aufgebaut?
Man könnte auch nach dem ersten Zeilenumbruch suchen.
' Kommentar ohne Autor übernehmen
For Each rngCom In rngCol
With rngCom.Comment
lngChr = Evaluate("=FIND(CHAR(10),""" & .Text & """)")
rngCom.Offset(0, 1).Value = VBA.Right(.Text, Len(.Text) - lngChr)
End With
Next rngCom
Mit freundlichen Grüssen
Melanie Breden
--
- Microsoft MVP für Excel -
Microsoft Excel - Die ExpertenTipps http://tinyurl.com/cmned
Das Excel-VBA Codebook http://excel.codebooks.de
Excel-Auftragsprogrammierung
Melanie Breden
2006-01-21 16:36:27 UTC
Permalink
Hallo Volker,
Post by Volker Waibel
Klappt so noch nicht
Hier 2 Beispiele von den Kommentaren
in der ersten Zeile des Kommentars als Autor stehen
ok, habe das Problem erkannt und gebannt.
Es liegt daran, dass der Text mehr als 255 Zeichen hat und deswegen
das gesuchte Zeichen nicht gefunden wird.

Ersetze den folgenden Codeblock, dann funktioniert es:

' Kommentar ohne Autor übernehmen
For Each rngCom In rngCol
With rngCom.Comment
lngChr = Evaluate("=FIND("":"",""" & Left(.Text, 50) & """)") + 1
rngCom.Offset(0, 1).Value = VBA.Right(.Text, Len(.Text) - lngChr)
End With
Next rngCom


Mit freundlichen Grüssen
Melanie Breden
--
- Microsoft MVP für Excel -
Microsoft Excel - Die ExpertenTipps http://tinyurl.com/cmned
Das Excel-VBA Codebook http://excel.codebooks.de
Excel-Auftragsprogrammierung
Volker Waibel
2006-01-21 14:14:07 UTC
Permalink
Hallo nochmal

vielleicht kann mann ja auch einfach ein Makro schreiben welches nach der
Prozedur die erste Zeile in jeder Zelle entfernt

Gruss Volker
Post by Michael Schüller
Hallo Volker,
Post by Volker Waibel
Hat super geklappt, war genau das was ich brauchte, vielen, vielen Dank
Vielleicht noch eine Zusatzfrage, kann man bei der Übernahme den Verfasser
weglassen
Ich mein das was immer schon drinsteht wenn ich einen Kommentar hinzufüge
Public Sub KommentareAuslesen()
' vor Makroaufruf Zelle in Spalte der Kommentare markieren
Dim rngCol As Range
Dim rngCom As Range
Dim lngChr As Long
With Columns(ActiveCell.Column)
On Error Resume Next
Set rngCol = .SpecialCells(xlCellTypeComments)
If Err.Number > 0 Then
MsgBox "Keine Kommentarzellen vorhanden"
Exit Sub
End If
' Spalte einfügen
.Offset(0, 1).Insert Shift:=xlToRight
' Kommentar ohne Autor übernehmen
For Each rngCom In rngCol
With rngCom.Comment
lngChr = Evaluate("=FIND("":"",""" & .Text & """)") + 1
rngCom.Offset(0, 1).Value = VBA.Right(.Text, Len(.Text) - lngChr)
End With
Next rngCom
' Kommentare löschen
rngCol.ClearComments
End With
End Sub
Mit freundlichen Grüssen
Melanie Breden
--
- Microsoft MVP für Excel -
Microsoft Excel - Die ExpertenTipps http://tinyurl.com/cmned
Das Excel-VBA Codebook http://excel.codebooks.de
Excel-Auftragsprogrammierung
Thomas Ramel
2006-01-21 08:56:27 UTC
Permalink
Grüezi Volker

Volker Waibel schrieb am 20.01.2006
Post by Volker Waibel
Ich habe eine Liste mit 5 Spalten
In der ersten sind in jeder Zeile Kommentare enthalten
Ich möchte diese Kommentare nun in eine eigene Spalte bringen, passend in
jeder Zeile
Kann mir jemand sagen wie Ich das mit allen (ca.2000 Zeilen) auf einmal
machen kann
Später soll die Tabelle in Access exportiert werden und die Kommentare als
eigenes Feld erscheinen
Ich könnte mir nebst den vorgeschlagenen vorzüglichen Lösungen auch eine
Benutzerdefinierte Funktion vorstellen, welche die Kommentare ausliest und
in einer Zelle wiedergibt.

Kopiere den folgenden Code ebenfalls in ein Modul der Mappe und rufe dann
die Funktion wie die eingebauten in Excel auf:

Public Function KommentarAus(rngZelle As Range) As String
Set rngZelle = rngZelle(1, 1)
On Error Resume Next
KommentarAus = rngZelle.Comment.Text
If Err.Number > 0 Then
KommentarAus = ""
End If
End Function


Mit freundlichen Grüssen
Thomas Ramel (@Laptop)
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2000 SP-3]
Volker Waibel
2006-01-21 14:28:02 UTC
Permalink
Halöle Thomas

hab es als modul erstellt und dann auch die funktion gefunden,klappt aber
nicht so,bin halt Anfänger
trotzdem danke

Gruss Volker
Post by Thomas Ramel
Grüezi Volker
Volker Waibel schrieb am 20.01.2006
Post by Volker Waibel
Ich habe eine Liste mit 5 Spalten
In der ersten sind in jeder Zeile Kommentare enthalten
Ich möchte diese Kommentare nun in eine eigene Spalte bringen, passend in
jeder Zeile
Kann mir jemand sagen wie Ich das mit allen (ca.2000 Zeilen) auf einmal
machen kann
Später soll die Tabelle in Access exportiert werden und die Kommentare als
eigenes Feld erscheinen
Ich könnte mir nebst den vorgeschlagenen vorzüglichen Lösungen auch eine
Benutzerdefinierte Funktion vorstellen, welche die Kommentare ausliest und
in einer Zelle wiedergibt.
Kopiere den folgenden Code ebenfalls in ein Modul der Mappe und rufe dann
Public Function KommentarAus(rngZelle As Range) As String
Set rngZelle = rngZelle(1, 1)
On Error Resume Next
KommentarAus = rngZelle.Comment.Text
If Err.Number > 0 Then
KommentarAus = ""
End If
End Function
Mit freundlichen Grüssen
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2000 SP-3]
Thomas Ramel
2006-01-21 14:49:24 UTC
Permalink
Grüezi Volker

Volker Waibel schrieb am 21.01.2006
Post by Volker Waibel
hab es als modul erstellt und dann auch die funktion gefunden,klappt aber
nicht so,bin halt Anfänger
Was genau klappt denn nicht?
Erhältst Du Fehlermeldungen - wenn ja welche?
Findest Du die Funktion nicht?
Oder hast Du Probleme bei deren Verwendung?


Erstelle das Modul so wie Melanie bestens erklärt hat und kopiere dann
einfach den Code dort hinein (Du kannst auch dasselbe Modul verwenden in
welchem Du schon Melanies Code hast).

Wenn diese korrekt erfolt ist, findest Du im Funktions-Assistenten von
Excel (also nicht mehr im VBA-Editor) die neue Funktion inder Rubrik
'Benutzerdefiniert'.

Verwende sie nun so wie alle anderen Funktionen in Excel auch. Schreibe

=KommentarAus(A1)

in eine beliebige Zelle und dort wird der Kommentar aus A1 wiedergegeben.




Mit freundlichen Grüssen
Thomas Ramel
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2000 SP-3]
Microsoft Excel - Die ExpertenTipps:
(http://tinyurl.com/9ov3l und http://tinyurl.com/cmned)
Volker Waibel
2006-01-21 16:39:58 UTC
Permalink
Halöle Thomas

Mit dem Code von Melanie geht es eigentlich sehr gut
ich wollte jetzt nur noch ein Feinheit anders haben
Und zwar wenn er die Kommentare in eine eigene Zelle gebracht hat,
hätte Ich es gerne wenn die erste Zeile aus den Kommentaren verschwindet,
sprich der Autor
das klappt in soweit noch nicht , das er willkürlich abschneidet
hab ja von Melanie eine 2. Änderung bekommen
klappt halt noch nicht so, da es verschiedene Autoren sind
1: zottel21:
2: .:
3: Internet:
usw.
wenns halt nicht anders geht lass ich sie einfach drin
Ich will die Tabelle dann in Access importieren

Gruss Volker
Post by Thomas Ramel
Grüezi Volker
Volker Waibel schrieb am 21.01.2006
Post by Volker Waibel
hab es als modul erstellt und dann auch die funktion gefunden,klappt aber
nicht so,bin halt Anfänger
Was genau klappt denn nicht?
Erhältst Du Fehlermeldungen - wenn ja welche?
Findest Du die Funktion nicht?
Oder hast Du Probleme bei deren Verwendung?
Erstelle das Modul so wie Melanie bestens erklärt hat und kopiere dann
einfach den Code dort hinein (Du kannst auch dasselbe Modul verwenden in
welchem Du schon Melanies Code hast).
Wenn diese korrekt erfolt ist, findest Du im Funktions-Assistenten von
Excel (also nicht mehr im VBA-Editor) die neue Funktion inder Rubrik
'Benutzerdefiniert'.
Verwende sie nun so wie alle anderen Funktionen in Excel auch. Schreibe
=KommentarAus(A1)
in eine beliebige Zelle und dort wird der Kommentar aus A1 wiedergegeben.
Mit freundlichen Grüssen
Thomas Ramel
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2000 SP-3]
(http://tinyurl.com/9ov3l und http://tinyurl.com/cmned)
Lesen Sie weiter auf narkive:
Loading...