Plassere Formel Resultater i en kommentar

December 23  by Eliza

<h1> Plassere Formel resultater i en kommentar [3374] </ h1> Excel vil ikke tillate deg å direkte eller automatisk sette inn resultatet av en formel i en celle kommentar. Du kan imidlertid bruke en makro til å plassere dette resultatet akkurat der du ønsker det.

Bob spurte om det er mulig å skrive en formel og få resultatet i en kommentar, i stedet for i en celle. Det korte svaret er at nei, du kan ikke gjøre det med en formel. Du kan imidlertid gjøre det med en makro. For eksempel, legger følgende makro innholdet i to celler (A1 og B1) og deretter stikker resultatet i en kommentar knyttet til celle C1:

Sub MakeComment ()
Med regneark (1) .Range ("C1"). AddComment
.Visible = True
.Text "Totalt celle A1 pluss celle B1 er lik" & _
([A1] .Value) + ([B1] .Value)
Avslutt med
End Sub

Hvis du heller vil kjøre makroen på et område med celler, deretter en annen tilnærming er nødvendig. Følgende makro sløyfer thru alle cellene i et utvalg. Hvis cellen inneholder en formel, setter makro verdien (formelen resultat) i en kommentar knyttet til den cellen.

Sub ValueToComment ()
Dim Rceii Som Range
For Hver Rceii i utvalg
Med Rceii
Hvis .HasFormula Deretter
On Error Resume Next
.Comment.Delete
On Error GoTo 0
.AddComment
.Comment.Text Tekst: = CStr (rCell.Value)
End If
Avslutt med
Neste
Satt Rceii = Nothing
End Sub

Mens looping gjennom cellene i utvalget, hvis en av cellene har en formel og en eksisterende kommentar, da kommentaren blir slettet, og erstattet med ny kommentar som inneholder formelen resultat. Etterpå cellens verdi vises samt en kommentar med samme nummer. I stedet for CStr kan du også bruke Format-funksjonen til å vise verdien på noen måte kan det være lurt.

Du kan også opprette en makro som vil endre en kommentar når du oppdaterer innholdet i en bestemt celle. For eksempel, la oss si at hver gang noen har gjort en endring i celle C11, ville du resultatet av det som er i den cellen for å bli plassert i en kommentar knyttet til celle F15. Følgende makro gjør nettopp det:

Private Sub Worksheet_Change (ByVal Target As Range)
Dim sResult As String

Hvis Union (Target, Range ("C11")). Adresse = Target.Address Deretter
Application.EnableEvents = False
Application.ScreenUpdating = False
sResult = Target.Value
Target.ClearContents

Med Range ("F15")
.ClearComments
.AddComment
.Comment.Text Tekst: = sResult
Avslutt med
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub

Når noen går inn i en formel (eller en verdi) i celle C11, er resultatet av at formelen (eller selve verdien) plassert i en kommentar som er festet til celle F15. Siden dette er en hendelse utløst makro, må den legges inn i koden vinduet for regnearket på som den vil fungere.

Til slutt, kan det være lurt å ha makroen monitor en hel kolonne. Følgende makro bruker Endre tilfelle av et regneark, akkurat som den forrige makro. Det er imidlertid spark kun til handling dersom endringen ble gjort i kolonne F, og bare hvis en enkelt celle i den kolonnen ble endret.

Private Sub Worksheet_Change (ByVal Target As Range)
Hvis Target.Cells.Count> 1 Then Exit Sub
Hvis Target.Column <> 6 Then Exit Sub

Dim x As String
Application.EnableEvents = False
Hvis Target.HasFormula Deretter
x = Evaluer (Target.Formula)
Else
x = Target.Text
End If

Target.ClearComments
Hvis Target.Text = "" Then
Application.EnableEvents = True
Exit Sub
End If

Target.AddComment x
Target = ""
Application.EnableEvents = True
End Sub

Hvis brukeren gjør en endring til en enkelt celle i kolonne F, griper makro resultatet av det som ble skrevet inn og plasserer det i en kommentar knyttet til den cellen. Innholdet i cellen blir deretter slettet.

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (3374) gjelder for Microsoft Excel 97, 2000, 2002, og 2003. Du kan finne en versjon av dette tipset for Båndet av Excel (Excel 2007 og senere) her: Plassere Formel Resultater i en kommentar.