Frage von ralph2108, 54

Excel 2013: Wert aus Variable (VBA) in Zelle schreiben?

Hi!

Ich sag jetzt schon mal danke für eure Antworten :)

Wie kann man den Wert der durch ein VBA-Makro in einer Variable steht in einer Zelle einfügen, so dass er da dauerhaft steht und auch aktualisiert wird, falls sich dieser Wert bzw. Variable ändert?

Sub Kommentarezaehlen()
 Dim Kom As Comment

 For Each Kom In ActiveSheet.Comments
     i = i + 1
  
 Next
 
 msg = MsgBox("Das blatt enthält " & i & " Kommentare")
End Sub 

Vielen Dank Leute!

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Ninombre, Community-Experte für Excel, 49

range("A1").value=i

wenn Du es kürzer machen willst, kannst Du die Count Eigenschaft verwenden, dann entfällt auch die for-/next schleife

range("A1").value=ActiveSheet.Comments.Count

Kommentar von Ninombre ,

um auf die eigentliche Frage noch mal zu kommen, wie man in Zellen etwas einträgt:

Zellen kannst Du über Range wie oben im Beispiel ansprechen (wobei eine einzige Zelle ein etwas überschaubarer Bereich wäre) oder mit cells. Hier aber beachten, dass erst die Zeile, dann die Spalte genannt wird
cells(2,1).value wäre A2

Die Angabe mit Range ist für viele leichter lesbar. Wenn Du bei der Spalte aber auch mit einer Variablen arbeitest, finde ich wiederum cells(x,y) geeigneter.

Da Du den Wert verändern willst, ist es eben range("A1").value  - wenn Du da etwas herumspielst, findest Du auch die anderen Möglichkeiten - range("A1").interior.color für die Zellfarbe etc.

Das Auslesen eines Zellwertes geht nach dem gleichen Prinzip:

i=Range("A1").value*27 etc.

Kommentar von Iamiam ,

und wenn Du per VBA eine Formel setzen (oder ändern) willst, im dt. Excel:

ActiveSheet.Range("A1").FormulaLocal = "=Summe(A2:A99)"

Zur Abfrage, ob eine Formel drinsteht, gibts die Funktion

if Hasformula(Activesheet.Range("A1")) then ...

Genaue Syntax müsste ich auch erst nachschauen. Ob man die so zählen kann, auch

Expertenantwort
von schmiddi1967, Community-Experte für Excel, 32

Proforma 👍

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten