Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1768to1772
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

Kommentare aus mehreren Zellinhalten

Kommentare aus mehreren Zellinhalten
27.06.2020 06:37:28
Andreas
Hallo an alle
Es wäre echt spitze, wenn mir jemand helfen könnte. Ich habe von Makros nur sehr wenig Ahnung würde aber eines zum Erstellen von Kommentaren Brauchen, und zwar.
Ich habe eine sehr lange liste und möchte die Inhalte der Spalten L und O bis U in form eines Kommentars in Spalte M schreiben. Die Werte müssten im Kommentar unter einander stehen. Schön wäre es, wenn die Überschrift der spalten jeweils vor dem Wert stehen würde, aber das muss nicht unbedingt sein.
Könnte mir da vielleicht jemand weiterhelfen, das würde mir viel Arbeit sparen. Ein Beispiel Code, der dem nahe kommt, würde auch schon reichen. Ich versuche ihn mir dann anzupassen.
Vielen Dank und Grüße
Andreas

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kommentare aus mehreren Zellinhalten
27.06.2020 08:52:02
Hajo_Zi
Hallo Andreas,
das geht nicht, da eine XLSX Datei kein Makro enthalten kann.
Ich sehe keinen Grund eine Datei 2x zu speichern und den Code einzufügen.
Ich führe keine Liste unter welchem Dateinamen ich die Datei aus dem Forum gespeichert habe.
Der Name steht ja im Beitrag.
benutze den MNakrorecorder unmd passe den Code an, was ich auch nur gemacht habe.
Range("D16").AddComment
Range("D16").Comment.Text Text:=Range("A1") & Chr(10) & Range("A3") & Chr(10) & Range("B3")

Anzeige
AW: Kommentare aus mehreren Zellinhalten
27.06.2020 09:30:11
fcs
Hallo Hajo,
dein Beitrag ist in dieser Form für jemanden mit Kenntnisstand "VBA bescheiden" nicht besonders hilfreich.

das geht nicht, da eine XLSX Datei kein Makro enthalten kann.

Diese Aussage ist falsch - Makro kann auch in der persönlichen Makro-Arbeitsmappe gespeichert werden.
Ich sehe keinen Grund eine Datei 2x zu speichern und den Code einzufügen.
Ich führe keine Liste unter welchem Dateinamen ich die Datei aus dem Forum gespeichert habe.
Der Name steht ja im Beitrag.

Was du mit der Datei machst, um zu helfen, interessiert niemanden.
benutze den MNakrorecorder unmd passe den Code an, was ich auch nur gemacht habe.
Range("D16").AddComment
Range("D16").Comment.Text Text:=Range("A1") & Chr(10) & Range("A3") & Chr(10) & Range("B3")

Naja.
Du hast dir ja nicht einmal die Mühe gemacht die richtige Startzelle für die Kommentare zu wählen.
aufgezeichnet sieht es etwa so aus.
Sub Makro1()
' Makro1 Makro
Range("M5").AddComment
Range("M5").Comment.Visible = False
Range("M5").Comment.Text Text:= _
"Text1: text_ZelleL5" & Chr(10) & "Datum1: Inhalt_ZelleO5" & Chr(10) _
& "Datum2: InhaltZelleP5" & Chr(10) & "usw"
Selection.ShapeRange.ScaleWidth 1.24, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleHeight 2.14, msoFalse, msoScaleFromTopLeft
Range("M5").Select
End Sub

Und mit Kenntnisstand "VBA bescheiden" ist es hier ein langer Weg, bis man die Kommentare über viele Zeilen eingetragen bekommt.
LG
Franz
Anzeige
AW: Kommentare aus mehreren Zellinhalten
27.06.2020 08:57:02
fcs
Hallo Andreas,
hier 2 Makros
LG
Franz
Sub Make_Comments()
Dim rngZelle As Range, objComment As Comment, bolComment As Boolean
Dim sText As String, zei As Long, zeiL As Long, spa As Long
Dim wks As Worksheet
Dim msgPrompt As String, msgButtons As Long, msgTitle As String
Const zei_T As Long = 4 'Zeile mit Spaltentiteln
On Error GoTo Fehler
Set wks = ActiveSheet
msgPrompt = "Kommentare im Blatt """ & wks.Name & """ in Spalte M erstellen/aktualisieren?"
msgTitle = "Kommentare aus Zellinhalten erstellen"
msgButtons = vbQuestion + vbYesNo
If MsgBox(msgPrompt, msgButtons, msgTitle) = vbNo Then Exit Sub
With wks
zeiL = .Cells.Find(what:="*", after:=.Cells(1, 1), LookIn:=xlFormulas, lookat:=xlWhole,  _
_
searchorder:=xlByRows, searchdirection:=xlPrevious).Row
For zei = zei_T + 1 To zeiL
Set rngZelle = .Cells(zei, 13) 'Zelle in Spalte M
Set objComment = rngZelle.Comment
'Prüfen, ob Inhalt in einer der Zellen
bolComment = Application.WorksheetFunction.CountA(.Cells(zei, 12), _
.Range(.Cells(zei, 15), .Cells(zei, 21))) > 0
If bolComment Then
sText = .Cells(zei_T, 12).Text & ": " & .Cells(zei, 12).Text
For spa = 15 To 21
sText = sText & vbLf & .Cells(zei_T, spa).Text & ": " _
& .Cells(zei, spa).Text
Next spa
If objComment Is Nothing Then
Set objComment = rngZelle.AddComment(sText)
With objComment.Shape
.Height = 110
.Width = 150
With .TextFrame.Characters.Font
.Name = "Calibri"
.Size = 10
.Color = RGB(0, 0, 255)
End With
With .Fill
.ForeColor.RGB = RGB(255, 255, 204)
End With
End With
Else
objComment.Text (sText)
End If
Else
'kein Kommentar wenn alle Zellen leer
If Not objComment Is Nothing Then objComment.Delete
End If
Next zei
End With
Fehler:
Dim errMsg As String, errTitle As String
With Err
errMsg = "Fehler-Nr.: " & .Number & vbLf & .Description
errTitle = "Fehler Makro: Make_Comments"
Select Case .Number
Case 0 ' Alles OK
Case 91 'Object-Fehler
errMsg = errMsg & vbLf & "Tabellenblatt ist leer - Makro wird abgebrochen"
MsgBox errMsg, vbOKOnly, errTitle
Case Else
MsgBox errMsg, vbOKOnly, errTitle
End Select
End With
End Sub
'Kurzversion
'Kurzversion
Sub Make_Comments_kurz()
Dim sText As String, zei As Long, zeiL As Long, spa As Long
Dim wks As Worksheet
Const zei_T As Long = 4 'Zeile mit Spaltentiteln
Set wks = ActiveSheet
If MsgBox("Kommentare im Blatt """ & wks.Name & """ in Spalte M erstellen/aktualisieren?",  _
_
vbQuestion + vbYesNo, "Kommentare aus Zellinhalten erstellen") = vbNo Then Exit Sub
With wks
zeiL = .Cells.Find(what:="*", after:=.Cells(1, 1), LookIn:=xlFormulas, lookat:=xlWhole,  _
_
searchorder:=xlByRows, searchdirection:=xlPrevious).Row
For zei = zei_T + 1 To zeiL
sText = .Cells(zei_T, 12).Text & ": " & .Cells(zei, 12).Text
For spa = 15 To 21
sText = sText & vbLf & .Cells(zei_T, spa).Text & ": " & .Cells(zei, spa).Text
Next spa
With .Cells(zei, 13) 'Zelle in Spalte M
If .Comment Is Nothing Then
.AddComment (sText)
With .Comment.Shape
.Height = 110
.Width = 150
End With
Else
.Comment.Text sText
End If
End With
Next zei
End With
End Sub

Anzeige
AW: Kommentare aus mehreren Zellinhalten
28.06.2020 07:03:09
Andreas
Hallo
@Hajo_Zi : Also grundsätzlich danke für den Versuch. Ich kenne mich zwar nicht sonderlich gut aus. Aber es ist eine .xls Datei, in der man Makro doch abspeichern kann. Ich habe hier mal vor längerem was gefragt, eine .xlsm Datei hochgeladen und in der Antwort eine .xls Datei zurückerhalten, deswegen habe ich die Datei in .xls erstellt. Ganz abgesehen davon, würde ein:“ Die Datei Bitte im .xlsm Format hochladen. Dann kann ich dir Helfen“ vollkommen ausreichen. Deine Art ist einfach schrecklich. Es scheint mehr ein Frust ablassen zu sein, als der Versuch zu helfen.
@ Franz: Funktioniert großartig. Ist sogar mit Massage box, Absolut perfekt. Du hast nicht nur das Endziel erreicht.
Sondern aufgrund der drei Code Sequenzen, besonders der langen und kurzen Code Version. Mir geholfen meine VBA Kenntnisse prinzipiell zu verbessern. Ich studiere den Code schon seit Gestern und hab echt was gelernt.
Danke für die Hilfe.
Grüße Andreas
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige