19.04.2019, 09:50
19.04.2019, 20:59
Hallo,
dann möchte ich mich auch an diesem Thema versuchen:
- sichern aller Kommentare
- Copy/Paste
- in diesem Bereich die Kommentare aus der Sicherungskopie wieder einfügen:
mfg
dann möchte ich mich auch an diesem Thema versuchen:
- sichern aller Kommentare
- Copy/Paste
- in diesem Bereich die Kommentare aus der Sicherungskopie wieder einfügen:
Code:
Sub Vorbereitung()
'Kommentare sichern
With ActiveSheet.UsedRange
ad = .Cells(1).Address
.Copy
End With
Sheets.Add(, ActiveSheet).Range(ad).PasteSpecial xlComments
End Sub
'----------------------------------------------------------------------------------------------------
Sub Kopieren()
Sheets(3).UsedRange.Copy 'Quelle der zu kopierenden Zellen
ad = Sheets(3).UsedRange.Cells(1).Address
ActiveSheet.Range(ad).PasteSpecial
For Each c In Selection
If Not Sheets(2).Range(c.Address).Comment Is Nothing Then
Sheets(2).Range(c.Address).Copy
c.PasteSpecial xlComments
End If
Next c
End Sub
mfg
19.04.2019, 23:36
Hallo cgo,
Fenneks Beitrag (der aber leider (auch) das Ziel leicht verfehlte) erinnerte mich daran, das auch mehrere Zellen kopiert werden können sollen.
Das wäre dann mein Vorschlag (für einfaches Kopieren und Einfügen per Strg+c und Strg+v) auch für mehrere Zellen auf einmal:
Gruß Uwe
Fenneks Beitrag (der aber leider (auch) das Ziel leicht verfehlte) erinnerte mich daran, das auch mehrere Zellen kopiert werden können sollen.
Das wäre dann mein Vorschlag (für einfaches Kopieren und Einfügen per Strg+c und Strg+v) auch für mehrere Zellen auf einmal:
'Automatisches Einfügen eines Kommentars bei Ändern des Zellinhaltes
'Automatisches Löschen eines Kommentars bei Entfernen des Zellinhaltes
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZelle As Range
Dim varT As Variant
Dim oComment As Comment
With Target.Areas(1)
varT = .Formula
On Error Resume Next
Application.EnableEvents = False
Application.Undo
.Formula = varT
For Each rngZelle In .Cells
With rngZelle
If Len(.Formula) Then
If .Comment Is Nothing Then
.AddComment.Text Application.UserName & Chr(10) & Date & " " & Format(Time, "hh:mm:ss")
Else
.Comment.Text Application.UserName & Chr(10) & Date & " " & Format(Time, "hh:mm:ss") & _
Chr(10) & .Comment.Text
End If
.Comment.Shape.TextFrame.AutoSize = True
Else
If Not .Comment Is Nothing Then
.Comment.Delete
End If
End If
End With
Next rngZelle
Application.EnableEvents = True
On Error GoTo 0
End With
End Sub
Ich habe die zeitliche Anordnung mal auf absteigend geändert und die automatische Größenanpassung eingeschaltet.Gruß Uwe
29.04.2019, 10:34
(19.04.2019, 23:36)Kuwer schrieb: [ -> ]Hallo cgo,
Fenneks Beitrag (der aber leider (auch) das Ziel leicht verfehlte) erinnerte mich daran, das auch mehrere Zellen kopiert werden können sollen.
Das wäre dann mein Vorschlag (für einfaches Kopieren und Einfügen per Strg+c und Strg+v) auch für mehrere Zellen auf einmal:
Ich habe die zeitliche Anordnung mal auf absteigend geändert und die automatische Größenanpassung eingeschaltet.
Gruß Uwe
Liebe Dank!
Was nun noch fehlt ist, dass nur in der Spalte A (und neuerdings auch in Spalte Q) Kommentare erlaubt sind. Kann man irgendwie beeinflussen, dass in den anderen Spalten Kommentare nicht möglich sind (d.h. auch bei Kopieren einer kommentierten Zelle aus Spalte A oder Q in eine der die restlichen Spalten kein Kommentar kopiert wird) ?!
29.04.2019, 11:00
Hallo,
Kommentare nur in Spalten A und Q:
Microsoft Excel Objekt Tabelle1
Gruß Uwe
Kommentare nur in Spalten A und Q:
Microsoft Excel Objekt Tabelle1
Option Explicit 'Automatisches Einfügen eines Kommentars bei Ändern des Zellinhaltes 'Automatisches Löschen eines Kommentars bei Entfernen des Zellinhaltes Private Sub Worksheet_Change(ByVal Target As Range) Dim rngZelle As Range Dim varT As Variant Dim oComment As Comment With Target.Areas(1) varT = .Formula On Error Resume Next Application.EnableEvents = False Application.Undo .Formula = varT For Each rngZelle In .Cells With rngZelle Select Case .Column Case 1, 17 'Zelle befindet sich in Spalte A oder Q If Len(.Formula) Then If .Comment Is Nothing Then .AddComment.Text Application.UserName & Chr(10) & Date & " " & Format(Time, "hh:mm:ss") Else .Comment.Text Application.UserName & Chr(10) & Date & " " & Format(Time, "hh:mm:ss") & _ Chr(10) & .Comment.Text End If .Comment.Shape.TextFrame.AutoSize = True Else If Not .Comment Is Nothing Then .Comment.Delete End If End If Case Else 'Zelle befindet sich in einer anderen Spalte If Not .Comment Is Nothing Then .Comment.Delete End If End Select End With Next rngZelle Application.EnableEvents = True On Error GoTo 0 End With End SubVBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media
Code erstellt und getestet in Office 14 - mit VBAHTML 12.6.0
Gruß Uwe
29.04.2019, 12:26
DANKE Uwe! Ich bin begeistert : )
Alles funktioniert so wie ich es mir vorgestellt habe.
Ich habe noch eine letzte Frage: in der Spalte F gibt es Einträge mit jeweils Verlinkungen zu bestimmten Dateien. Wenn ich den Eintrag kopiere, wurde bisher auch der Link übernommen. Dies funktioniert aktuell nicht mehr und ich Frage mich, ob das am Skript liegt?! Gewünscht ist, dass die Links tatsächlich mitkopiert werden.
Herzlichen Dank für deine große Hilfe!
Alles funktioniert so wie ich es mir vorgestellt habe.
Ich habe noch eine letzte Frage: in der Spalte F gibt es Einträge mit jeweils Verlinkungen zu bestimmten Dateien. Wenn ich den Eintrag kopiere, wurde bisher auch der Link übernommen. Dies funktioniert aktuell nicht mehr und ich Frage mich, ob das am Skript liegt?! Gewünscht ist, dass die Links tatsächlich mitkopiert werden.
Herzlichen Dank für deine große Hilfe!
29.04.2019, 13:37
Hallo,
das geht nicht ... zumindest fällt mir da jetzt nichts Vernünftiges ein. Also entweder alte Kommentare beibehalten oder alles, inklusive Kommentare und Hyperlinks, wird kopiert.
Gruß Uwe
(29.04.2019, 12:26)cgo schrieb: [ -> ]Gewünscht ist, dass die Links tatsächlich mitkopiert werden.
das geht nicht ... zumindest fällt mir da jetzt nichts Vernünftiges ein. Also entweder alte Kommentare beibehalten oder alles, inklusive Kommentare und Hyperlinks, wird kopiert.
Gruß Uwe
29.04.2019, 15:02
Hallöchen,
eventuell geht das in der Art? Ich setzte hier voraus, dass die Verknüpfung zu der Datei absolut ist, also z.B. mit C:\ beginnt - oder einem anderen Laufwerksbuchstaben.
eventuell geht das in der Art? Ich setzte hier voraus, dass die Verknüpfung zu der Datei absolut ist, also z.B. mit C:\ beginnt - oder einem anderen Laufwerksbuchstaben.
Code:
Application.Undo
.Formula = varT
If ActiveCell.Value Like "?:\*" Then
.Hyperlinks.Add ActiveCell.Value, ActiveCell.Value
End If
For Each rngZelle In .Cells
06.05.2019, 10:01
Hallo schauan,
danke für den Vorschlag. Wo wäre der Code denn innerhalb Uwe's Skript einzubringen, um das mal zu testen?
An Uwe hätte ich noch eine Frage: seit dem das Skript genutzt wird muss leider nach Editieren einer Zelle 2x TAB gedrückt werden, um in die nächste Zelle zu wechseln. Kann dies geändert werden?!?!
Ich danke Euch vielmals!
danke für den Vorschlag. Wo wäre der Code denn innerhalb Uwe's Skript einzubringen, um das mal zu testen?
An Uwe hätte ich noch eine Frage: seit dem das Skript genutzt wird muss leider nach Editieren einer Zelle 2x TAB gedrückt werden, um in die nächste Zelle zu wechseln. Kann dies geändert werden?!?!
Ich danke Euch vielmals!
06.05.2019, 10:54
Hallo,
beide Sachen sind jetzt drin:
Microsoft Excel Objekt Tabelle1
Gruß Uwe
beide Sachen sind jetzt drin:
Microsoft Excel Objekt Tabelle1
Option Explicit 'Automatisches Einfügen eines Kommentars bei Ändern des Zellinhaltes 'Automatisches Löschen eines Kommentars bei Entfernen des Zellinhaltes Private Sub Worksheet_Change(ByVal Target As Range) Dim rngZelle As Range Dim varT As Variant Dim oComment As Comment With Target.Areas(1) varT = .Formula On Error Resume Next Application.EnableEvents = False Set rngZelle = ActiveCell Application.Undo rngZelle.Activate .Formula = varT For Each rngZelle In .Cells With rngZelle If .Column = 6 Then 'wenn Spalte F If .Value Like "?:\*" Then .Hyperlinks.Add .Value, .Value End If End If Select Case .Column Case 1, 17 'Zelle befindet sich in Spalte A oder Q If Len(.Formula) Then If .Comment Is Nothing Then .AddComment.Text Application.UserName & Chr(10) & Date & " " & Format(Time, "hh:mm:ss") Else .Comment.Text Application.UserName & Chr(10) & Date & " " & Format(Time, "hh:mm:ss") & _ Chr(10) & .Comment.Text End If .Comment.Shape.TextFrame.AutoSize = True Else If Not .Comment Is Nothing Then .Comment.Delete End If End If Case Else 'Zelle befindet sich in einer anderen Spalte If Not .Comment Is Nothing Then .Comment.Delete End If End Select End With Next rngZelle Application.EnableEvents = True On Error GoTo 0 End With End SubVBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media
Code erstellt und getestet in Office 14 - mit VBAHTML 12.6.0
Gruß Uwe