Avatar billede fralle Nybegynder
28. november 2007 - 12:48 Der er 2 kommentarer og
1 løsning

VBA kode for at redigere en kommentar

Nedenstående kode virker helt ok, men kunne godt tænke mig at udvide funktionen til at ikke overskrive en evt. eksisterende kommentar, men hellere kunne redigere den direkte.
F.eks. hvis der allerede er lagt ind en kommentar "bla bla her står der en kommentar" så ønsker jeg at have mulighed for at få vist det, samt at kunne redigere i det direkte, ikke bare overskrive kommentaren med det man smider ind.

Alternativt kan jeg også leve med at den tilføjer den nye kommentar efter den eksisterende kommentar således at det kunne blive "kommentar1: bla bla" "kommentar2: bla bla bla2"


"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 2 And Target.Value <> "" Then
        Set personSheet = ThisWorkbook.Sheets("Kommentarer")
        Set myRange = personSheet.Range("A2", personSheet.Range("A2").End(xlDown))
       
        For Each curCell In myRange
            If curCell.Value = Target.Value Then
                If curCell.Offset(0, 1).Value <> "" Then
                    myResponse = MsgBox(curCell.Offset(0, 1).Value & vbNewLine & vbNewLine & vbNewLine & "Vil du redigere?", vbYesNo)
                Else
                    myResponse = MsgBox("Der er ingen data, vil du tilføje?", _
                        vbYesNo)
                End If
               
                If myResponse = vbYes Then
                    myInput = InputBox("Indtast en ny kommentar")
                       
                    If myInput <> "" Then
                        curCell.Offset(0, 1).Value = myInput
                    End If
                End If
            End If
        Next
    End If
End Sub
"
Avatar billede jlemming Nybegynder
28. november 2007 - 13:51 #1
Prøv dette:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 2 And Target.Value <> "" Then
        Set personSheet = ThisWorkbook.Sheets("Kommentarer")
        Set myRange = personSheet.Range("A2", personSheet.Range("A2").End(xlDown))
       
        For Each curCell In myRange
            If curCell.Value = Target.Value Then
                If curCell.Offset(0, 1).Value <> "" Then
                    myResponse = MsgBox(curCell.Offset(0, 1).Value & vbNewLine & vbNewLine & vbNewLine & "Vil du redigere?", vbYesNo)
                Else
                    myResponse = MsgBox("Der er ingen data, vil du tilføje?", _
                        vbYesNo)
                End If
               
                If myResponse = vbYes Then
                    myInput = InputBox("Indtast en ny kommentar", , curCell.Offset(0, 1).Value)
                       
                    If myInput <> "" Then
                        curCell.Offset(0, 1).Value = myInput
                    End If
                End If
            End If
        Next
    End If
End Sub
Avatar billede fralle Nybegynder
28. november 2007 - 16:38 #2
Tak, smid et svar du :)
Avatar billede jlemming Nybegynder
28. november 2007 - 18:41 #3
Velbekomme :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester