Thema Datum  Von Nutzer Rating
Antwort
14.12.2007 15:50:05 Christian
NotSolved
14.12.2007 20:15:13 Holger
NotSolved
14.12.2007 20:49:26 Christian
NotSolved
Blau Aw:Aw:Aw:Jede Änderung einer Zelle in Excel soll a
17.12.2007 15:09:15 Christian
NotSolved

Ansicht des Beitrags:
Von:
Christian
Datum:
17.12.2007 15:09:15
Views:
1621
Rating: Antwort:
  Ja
Thema:
Aw:Aw:Aw:Jede Änderung einer Zelle in Excel soll a
Servus Holger,

hier nun das Feedback. Leider ging es nicht mit Deinem Vorschlag, habe es jetzt so gelöst:

Sub AltwertinKommentarfeld_2007_demo2()

Dim i As Integer
Dim Comment As Range

'Home = ActiveWorkbook.Name
MsgBox "Bitte öffnen Sie die Datei die Sie bearbeiten möchten!"
Pfad = Application.GetOpenFilename
Workbooks.Open (Pfad)
Export = ActiveWorkbook.Name
Anzahltab = Sheets.Count
For i = 1 To Anzahltab
Workbooks(Export).Worksheets(i).Activate
Worksheets(i).Select
Range("A1:U100").Select
For Each cell In Selection
On Error Resume Next
'If c.Interior.ColorIndex = 35 Then
cell.Select
With cell.AddComment
.Text "Inhalt: " & Chr(10) & cell.Value
End With
cell.Comment.Visible = True
cell.Comment.Shape.Select True
With Selection.Font
.Name = "Arial"
.Size = 12
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 3
End With
cell.Comment.Visible = False
If cell.Value = "" Then
cell.Value = 0
End If
cell.FormatConditions.Delete
cell.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotEqual, _
Formula1:=cell.Value
With cell.FormatConditions(1).Font
.Bold = True
End With
cell.FormatConditions(1).Interior.ColorIndex = 45
'End If
Next cell
Next i
End Sub





Christian schrieb am 14.12.2007 20:49:26:

Servus Holger,

vergelt's Gott für Deine rasche Antwort. Ob das Problem gelöst, sehe ich erst am Montag auf der Arbeit, habe die Datei nicht da, zudem Feierabend.
Also am Montag mehr dazu!

Holger schrieb am 14.12.2007 20:15:13:

Hallo Christian,
es wäre schön, wenn du auf Anregungen antwortest, ob sie dein Problem gelöst haben. Nur so können Helfer erkennen, ob sie mit ihrem Beitrag richtig lagen und ob er verständlich war. Außerdem wäre es angebracht, deine eigenen Überlegungen und Programmansätze darzustellen, denn offenbar lernst du gerade VBA - und das wird nur gelingen, wenn du dir selbst Gedanken zu des Aufgaben machst und übst. Alle fingen einmal mit viel Probieren an. Auch heute muss ich das noch tun. Kommentarfelder habe ich z.B. vorher noch nie bearbeitet. Die BVA-Hilfe ist zwar am Anfang schwierig zu verstehen, doch da müssen alle durch, die VBA anwenden wollen!

Für dein neues Problem gehe ich davon aus, dass
- nur dann, wenn die veränderte Zelle in dem bestimmten Bereich liegt, die Aktionen erfolgen sollen,
- ein Kommentarfeld ein "Comment" ist und
- nur der neue Wert der veränderten Zelle in das Kommentarfeld geschrieben werden soll.

Wenn du nachstehendes Makro ins Code-Fenster deiner Tabelle unter Microsoft Excel Objekte kopierst, errreichst du das Gewünschte. Für die Eingabe der Bereichsgröße kannst du leicht einige Zeilen hinzufügen, hier sind sie fest im Makro verankert (hier z.B. B5 bis E10). Der Kommentar wird hier dem Feld A1 zugefügt und sichtbar gemacht. Das ist natürlich auch änderbar.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range
Set Bereich = Range(Cells(5, 2), Cells(10, 5)) 'Hier deinen Bereich angeben
a = Target.Address
ba = Bereich.Column 'Prüfung, ob die Zelle im Bereich liegt
be = ba + Bereich.Columns.Count - 1
c = Target.Column
If c be Then Exit Sub
ba = Bereich.Row
be = ba + Bereich.Rows.Count - 1
c = Target.Row
If c be Then Exit Sub
Range("a1").ClearComments 'oder ein anderes Feld für den Kommentar
With Range("a1").AddComment
.Visible = True
If IsNumeric(Range(a).Value) = True Then
.Text Str(Range(a).Value)
Else
.Text Range(a).Value
End If
End With
Range(a).Interior.ColorIndex = 6 'gelb
End Sub

Viel Erfolg
Holger


Christian schrieb am 14.12.2007 15:50:05:

Hallo zusammen,

ich habe folgenden Fall. Ich brauche ein Makro, das für jede Zelle eines bestimmten Bereichs des Tabellenblattes den Inhalt der Zelle in einen Kommentarfeld kopiert. Zudem soll sich bei einer Änderung des Zellinhaltes die Hintergrundfarbe ändern, sodass sofort ersichtlich ist, was wo geändert wurde. Im Kommentarfeld bleibt der Original-Eintrag vorhanden.

Nochmals zusammengefasst:
Inhalt einer Zelle in ein Kommentarfeld übertragen,
Wenn Zellinhalt geändert wird, verändert sich die Hintergrundfarbe der Zelle.
Zellinhalt kann Text oder auch Zahl beinhalten.

Herzlichen Dank für Eure Hilfe.

Grüße Christian

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
14.12.2007 15:50:05 Christian
NotSolved
14.12.2007 20:15:13 Holger
NotSolved
14.12.2007 20:49:26 Christian
NotSolved
Blau Aw:Aw:Aw:Jede Änderung einer Zelle in Excel soll a
17.12.2007 15:09:15 Christian
NotSolved