Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Kommentare verschieben
#11
(29.11.2023, 12:10)snb schrieb: Du schreibst: 'verschieben', du meinst 'verwechseln', 'austauschen'.

Code:
Sub M_snb()
  y = -1

  For Each it In Intersect(Selection.EntireRow, Range("J9:OP14")).SpecialCells(-4144)
    c00 = it.Offset(y).Comment.Text
    it.Offset(y).Comment.Text it.Comment.Text
    it.Comment.Text c00
  Next
End Sub

Richtig...verwechseln bzw austauschen...korrekt!

Deinen Code habe ich mir kopiert. Das Dimensionieren von y habe ich noch hinbekommen, aber für was steht das "it" in deinem Code?

Danke aber erst einmal bis hier hin!

@Gast123:

Dein Code funktioniert insoweit, dass es die Kommentare verschiebt, allerdings nicht für die gesamte Zeile und es überschreibt die vorhandenen Kommentare.

Wie snb es richtigerweise festgestellt hat, meine ich, dass die Kommentare wechseln bzw ausgetauscht werden sollen.

Aber auch dir vielen Dank für deine Mühen...!!!
Antworten Top
#12
Hallo

schmunzel, da kam snb mit seinem berühmten Einzeiler hinzu. Einer der besten Programmierer.
Ich denke it ist die Abkürzung für Item als Objekt. c00 ist auch eine Standard Variable von ihm.

mfg Gast 123
Antworten Top
#13
Oh Mann…Ich fühle mich geehrt!  17
Antworten Top
#14
Lösche 'Option Explicit' und der Code läuft makellos.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#15
Hallo MuMa0806 ,

(29.11.2023, 20:48)snb schrieb: Lösche 'Option Explicit' und der Code läuft makellos.

schau dazu bitte unbedingt hier: Option Explicit, Intellisense und Techniken des Schreibens

Gruß, Uwe
Antworten Top
#16
@Kuw,

Vergessen den Code zu testen ?
Wo ist deiner bessere Vorschlag ?
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#17
Hallo snb,

wie gesagt, ich freue mich sehr, dass du dich meines kleinen "Problems" annimmst.

Ich habe die 'Option Explicit' herausgelöscht und im Zellenbereich versucht. Dabei bekam ich jedoch einen "Laufzeitfehler '91': Objektvariable oder With-Blockvariable nicht festgelegt".

Wenn zwei Kommentare direkt übereinander stehen, funktioniert der Code einwandfrei! Allerdings soll der Kommentar auch in eine Zelle ohne Kommentare getauscht werden.

Ich versuche es ein wenig plastischer Darzustellen und stelle eine abgespeckte Version meines Excel-Dienstplanes mit zur verfügung.

Hier ist der Bereich von L6:ON15 betroffen.

Ich möchte, wenn ich über die 'Stammdaten' einen neuen Mitarbeiter in die Schicht implementiere und dieser nach Nachnamen geordnet ist, dass sich der Datensatz L6:ON15 im 'Dienstplan' ebenfalls mit ordnet.
Ich habe es bereist geschafft, dass ich dies mit den Zellinhalten und ohne Formatierung hinbekomme, scheitere jedoch an den Kommentaren.

Ich hoffe, es irgendwie passend erklärt zu haben. Ansonsten fragt gern nach...

Ich bedanke mich für die tolle Unterstützung bis hier her..

VG MuMa


Angehängte Dateien
.xlsx   Dienstplan(abgespeckt).xlsx (Größe: 151,32 KB / Downloads: 3)
Antworten Top
#18
Hallöchen,

Zitat:Allerdings soll der Kommentar auch in eine Zelle ohne Kommentare getauscht werden.

Das ist dann aber kein Tausch, sondern ein Verschieben bzw. Neueintrag. Du bekommst dann den Fehler, weil es noch kein "Kommentarobjekt" in der Zelle gibt. Siehe der Ansatz vom Gast aus #9
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#19
Ja…in diesem Fall wäre es ein verschieben…bzw eine Zelle mit Kommentar mit einer Zelle ohne Kommentar tauschen.

VG
Antworten Top
#20
Ah, neue Wünsche: Comments verwechseln oder erstellen und kopiieren

1. Verzichte immer auf verbundene Zellen
2. Passe kopiierte Code immer an an der neue Kontext ("J9:OP15" <> "J6:ON14")

Code:
Sub M_snb()
  y = -1

  For Each it In Intersect(Selection.EntireRow, Range("J6:ON14")).SpecialCells(-4144)
    If Intersect(it.Offset(y), Intersect(Selection.EntireRow, Range("J6:ON14")).SpecialCells(-4144)) Is Nothing Then it.Offset(y).AddComment
    c00 = it.Offset(y).Comment.Text
    it.Offset(y).Comment.Text it.Comment.Text
    If c00 <> "" Then it.Comment.Text c00
  Next
End Sub


Angehängte Dateien
.xlsb   __Dienstplan_snb.xlsb (Größe: 147,56 KB / Downloads: 1)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste