Opmerking uit cel halen met macro

Status
Niet open voor verdere reacties.

MEradus

Gebruiker
Lid geworden
25 nov 2012
Berichten
287
Goedemiddag allen,

Ik heb al zitten googelen, maar kan het niet vinden.
Daarom dat ik nu de vraag hier plaats.

Is er een mogelijkheid om de opmerking die je in een cel van Excel zet via een macro te exporteren naar een andere cel?

In het voorbeeld bestand kun je zien dat ik graag in het 2e tabbald in cel N deze opmerking zou willen hebben.

Hopelijk is het mogelijk en is er iemand die mij kan helpen!

Alvast bedankt voor het meedenken!
 

Bijlagen

De gehele comment of alleen de tekst van de comment?
 
Hoi HSV, maakt op zich niet uit. Het gaat er mij om dat ik deze comment die ingevoerd is zie nadat ik een ‘daglijst’ maak.
 
Incl. comment.

Code:
Sub hsv()
Dim cl As Range, c As Range, Cmt As Range, m As Long
With Sheets("rooster")
For Each cl In Sheets("daglijst maken").Cells(1).CurrentRegion.Columns(11).SpecialCells(2).Offset(1).SpecialCells(2)
   Set c = .Rows(3).Find(cl, , xlValues, xlWhole)
   If Not c Is Nothing Then
     m = Application.Match(cl.Offset(, 1), .Columns(1), 0)
     If IsNumeric(m) Then
       Set Cmt = c.Offset(m - 3)
       On Error Resume Next
         If Cmt.Comment.Text <> "" Then
          cl.Offset(, 2).Comment.Delete
          cl.Offset(, 2).AddComment.Text Cmt.Comment.Text
        End If
     End If
    End If
  Next cl
 End With
End Sub

Ps. Zet de code in de activate-event van het tweede blad.
 
Laatst bewerkt:
Code:
Sub M_snb()
  For Each it In Blad1.Rows(56).SpecialCells(-4144)
    it.Copy
    Blad2.Columns(11).Find(Blad1.Cells(3, it.Column)).Offset(, 3).PasteSpecial -4144
  Next
End Sub
 
@HSV; ik heb de code gebruikt en deze werkt, maar zou toch makkelijker zijn als de tekst ook daadwerkelijk in de kolom terecht komt. Nu wordt alleen de opmerking naar de cel gekopieerd.

@SNB; Het zou kunnen dat ik wat fout doe, maar ik krijg een foutmelding "Fout 91 tijdens uitvoering. Object of blokvariable with is niet ingesteld. Nou heb ik daar nog steeds niet veel verstand van, maar zou denken dat ik 'it' moet instellen als variabel, maar hoe? (Hij geeft de foutmelding trouwens bij de 2e regel "Blad2.Columns...."
Hopelijk kun je me hier nog mee helpen.
 
Laatst bewerkt:
Controleer of de codenames van de werkbladen Blad1 en Blad2 zijn.
 
Controleer of de codenames van de werkbladen Blad1 en Blad2 zijn.

Heb net even gekeken, zelfs even aangepast naar "Sheets(1)" en 2 / namen van de bladen erin gezet, maar dit hielp ook niet helaas.
 
Ik zie totaal niet waarom het niet zou werken als de namen van de werkbladen kloppen, dus best even dubbelchecken.
Om de tekst van de opmerking in de cellen te krijgen volstaat een kleine aanpassing in de code van snb
Code:
Sub M_snb()
  For Each it In Blad1.Rows(56).SpecialCells(-4144)
    Blad2.Columns(11).Find(Blad1.Cells(3, it.Column)).Offset(, 3) = it.Comment.Text
  Next
End Sub
 
In het door jou hier geplaatste bestand verliep het vlekkelings.
 
@Enigmasmurf & @Snb, ik heb even gekeken in het testbestand en hier werkt hij inderdaad. Alleen als ik het goed zie, is de code alleen op "row56". Klopt dat?
Het is namelijk de bedoeling dat hij de rij nakijkt van de datum (Die in blad2 in cel Q2 staat). Of doe ik wat fout?
 
Vermits je zelf al wat code had ontwikkeld (hoewel misschien eerder opgenomen dan geschreven?) achtte ik het niet uitgesloten dat je met ons stukje code voldoende op weg was geholpen om het zelf verder te klaren.
Zoniet : in je macro "Sub SjonR_MIJN()" laat je al naar "Rij" zoeken op basis van de datum in Q2. Voeg onze code dus toe aan die macro en vervang 56 door Rij (uiteraard ergens na de regel waarin Rij zijn waarde krijgt)
Code:
For Each it In Blad1.Rows(Rij).SpecialCells(-4144)
  Blad2.Columns(11).Find(Blad1.Cells(3, it.Column)).Offset(, 3) = it.Comment.Text
Next
 
Het is namelijk de bedoeling dat hij de rij nakijkt van de datum (Die in blad2 in cel Q2 staat). Of doe ik wat fout?

Lees deze draad nog eens rustig door en beoordeel dan of je door het verstrekken van alle relevante informatie de helpers in de gelegenheid hebt gesteld jouw vraag adekwaat te beantwoorden.

Als je code ontvangt die in het door jou geplaatste bestand werkt, maar elders niet, heb je blijkbaar je vraag niet goed geformuleerd.
Ook is het mogelijk dat je zelf de gesuggereerde oplossingen analyseert en zó aanpast dat die het voor jouw gewenste (en voor ons onbekende) resultaat oplevert.
Die laatste aanpak is natuurlijk de beste, want daarvan leer je het meest.
 
Goedemorgen allemaal,

Bedankt voor alle tips en adviezen!
Ik heb deze draad nog een keer doorgelezen en "56" aangepast naar "Rij".
Vervolgens ben ik er achter gekomen dat ik deze draad niet als 'losse' draad moet draaien, maar in de al bestaande macro.
Ik ben erg blij met jullie, want zelf was ik er niet echt opgekomen.

Nogmaals bedankt en alvast prettige feestdagen!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan