Formeln für eine Zelle in VBA festlegen

Iqra Hasnain 15 Februar 2024
  1. Formeln für eine Zelle in VBA festlegen
  2. Adresse einer Zelle in VBA
  3. Wählen Sie in VBA den Zellbereich aus
  4. Schreiben Sie in Zellen in VBA
  5. Aus Zellen lesen in VBA
  6. Zellen schneiden in VBA
  7. Werte von nicht zusammenhängenden Zellen in VBA ersetzen
  8. Versatz von einer Zelle in VBA
  9. Verweisen Sie auf eine Zellenadresse in VBA
  10. Alle Zellen in VBA einschließen
  11. Ändern Sie die Eigenschaften einer Zelle in VBA
  12. Suchen Sie die letzte Zelle in VBA
  13. Finden Sie die letzte Zelle, die in einer Spalte in VBA verwendet wird
  14. Suchen Sie die letzte Zelle, die in einer Reihe in VBA verwendet wird
  15. Zellenwerte in VBA kopieren und einfügen
Formeln für eine Zelle in VBA festlegen

Wir werden verschiedene Zellfunktionen vorstellen, die in VBA ausgeführt werden können, um verschiedene Aufgaben mit Beispielen zu lösen.

Formeln für eine Zelle in VBA festlegen

Excel-Arbeitsblätter enthalten Zellen zur Datenspeicherung. Diese Zellen sind so angeordnet, dass sie Zeilen und Spalten im Arbeitsblatt bilden.

Während wir Zellen aus einem Excel-Arbeitsblatt für die VBA-Codierung verwenden, verwenden wir einen Bereich, der eine oder mehrere Zellen enthält. Einige der wesentlichen Funktionen im Zusammenhang mit VBA-Zellen sind die folgenden:

  • Adresse der Zelle
  • Zellreichweite
  • Schreiben in Zellen
  • Lesen aus Zellen
  • Sich überschneidende Zellen
  • Nicht zusammenhängende Zellen
  • Verrechnung von Zellen
  • Bezieht sich auf eine Zellenadresse
  • Einschließlich aller Zellen
  • Ändern der Eigenschaften von Zellen
  • Suche nach der letzten Zelle
  • Finden der letzten Zeilennummer, die in einer Spalte verwendet wird
  • Finden der letzten Spaltennummer, die in einer Reihe verwendet wird
  • Kopieren und Einfügen einer Zelle

Adresse einer Zelle in VBA

Wir können die Adresse einer Zelle durch die A1-Notation identifizieren, in die wir den Namen des Spaltenbuchstabens aufnehmen und die Zeilennummer der Zelle schreiben. In VBA kann das Range-Objekt eingebunden werden.

Nehmen wir Bezug auf die Zelle B4, wie unten gezeigt.

# vba
MsgBox Range("B4")

Ausgang:

Holen Sie sich den Wert einer Zelle in VBA

Wie unten gezeigt, können wir, wenn wir auf eine Zelle aus einem anderen Arbeitsblatt verweisen möchten, diese einfach aufrufen, indem wir das Blatt aufrufen und die Zelle abrufen.

# vba
MsgBox Worksheets("Sheet2").Range("B4")

Ausgang:

Holen Sie sich den Wert einer Zelle aus einem anderen Blatt in VBA

Wir können sogar eine andere Arbeitsmappe öffnen und das Arbeitsblatt aus dieser Arbeitsmappe auswählen, um den Wert der gewünschten Zelle zu erhalten, wie unten gezeigt.

# vba
MsgBox Workbooks("My WorkBook").Worksheets("Sheet2").Range("B2")

Eine andere Möglichkeit, eine Zellenadresse zu schreiben, besteht darin, den Buchstaben R und die Zeilennummer zu verwenden. Als nächstes schreiben Sie den Buchstaben C und die Spaltennummer der Zelle.

Diese Methode wird R1C1 notation genannt. Verwenden wir diese Notation in unserem Beispiel, wie unten gezeigt.

#vba
Sub callIt()

Cells(4, 2) = "Added"

End Sub

Ausgang:

Ändern Sie den Wert einer Zelle mithilfe der R1C1-Notation in VBA

Wählen Sie in VBA den Zellbereich aus

Wir können auch einen Bereich von Zellen auswählen, indem wir der Funktion Bereich unten Bereichswerte zuweisen.

# vba
Range("A1:B13")

Wir können die obige Funktion verwenden, um den Stil der in diesem Bereich vorhandenen Zellen zu ändern. Lassen Sie uns ein Beispiel durchgehen, in dem wir die Rahmenfarbe der Zellen aus diesem Bereich ändern, wie unten gezeigt.

# vba
Sub callIt()

Range("A1:B13").Borders.Color = RGB(255, 0, 255)

End Sub

Ausgang:

Rahmenfarbe mit Zellen im Bereich ändern

Wie Sie im obigen Beispiel sehen können, können wir die Stile mithilfe der Bereichsfunktion einfach ändern, indem wir die Werte der Zellen angeben.

Schreiben Sie in Zellen in VBA

Es gibt viele Szenarien, in denen wir eine bestimmte Zelle bearbeiten oder Wert hinzufügen möchten. Mit VBA ist das Ersetzen des Zellenwerts oder das Hinzufügen des Zellenwerts sehr einfach; Wir können die Funktion range() verwenden.

Lassen Sie uns dann die Funktion range() verwenden, um einen Wert hinzuzufügen und zu ändern.

# vba
Sub callIt()

Range("B4") = "Value Added"

End Sub

Sobald der Wert hinzugefügt wurde, ändern wir den Wert. Und wir werden versuchen, dieselbe Zelle wie unten gezeigt zu ersetzen.

# vba
Sub callIt()

Range("B4") = "Value Changed"

End Sub

Ausgang:

Hinzufügen und Ändern von Werten einer Zelle mit VBA

Wir können auch die Methode Cells verwenden, um dieselbe Funktion auszuführen.

# vba
Sub callIt()

Cells(4, 2) = "Value"

End Sub

Ausgang:

Hinzufügen und Ändern von Werten einer Zelle mithilfe der Zellmethode in VBA

Wenn wir einen Wertebereich speichern möchten, ist die Verwendung eines Arrays besser als die Verwendung einer einfachen Variablen.

Aus Zellen lesen in VBA

Wenn wir Werte aus einer Zelle lesen möchten, können wir 2 Funktionen verwenden. Das eine ist die Range und das andere die Cells. Indem wir die Adresse der Zelle aufrufen, können wir ihren Wert erhalten.

Wir können die Methode MsgBox verwenden, um unseren Wert anzuzeigen. Lassen Sie uns ein Beispiel durchgehen und zuerst den Wert von B4 mit der Methode Cells abrufen.

# vba
Sub callIt()

cellValue = Cells(4, 2)

MsgBox (cellValue)

End Sub

Ausgang:

Lesen Sie den Wert aus der Zelle mit der Zellmethode in VBA

Lassen Sie uns versuchen, dasselbe mit der unten stehenden range()-Methode zu erreichen.

# vba
Sub callIt()

cellValue = Range("B4")

MsgBox (cellValue)

End Sub

Ausgang:

Lesen Sie den Wert aus der Zelle mithilfe der Bereichsmethode in VBA

Wie Sie im obigen Beispiel sehen können, ist es sehr einfach, die Werte von Zellen mit diesen beiden Funktionen zu lesen.

Zellen schneiden in VBA

Während wir in VBA arbeiten, um Formeln für Excel-Tabellen zu erstellen, müssen wir möglicherweise die Schnittmenge von 2 Bereichen finden und dort bestimmte Aufgaben ausführen. Oder wir möchten einen bestimmten Wert am Schnittpunkt dieser beiden Bereiche platzieren.

Zwischen den Zellenadressen und dem VBA wird für den Schnittpunktprozess ein Leerzeichen verwendet.

Wie unten gezeigt, werden wir ein Beispiel durchgehen, in dem wir einen Wert in den Bereichszellen hinzufügen, der beiden Bereichen gemeinsam ist.

# vba
Sub callIt()

Range("A1:B10 B1:C10") = "Common Cells"

End Sub

Ausgang:

Zellen mit 2 Bereichen in VBA schneiden

Wie Sie im obigen Beispiel sehen können, können wir die Werte zwischen den Zellen, die sich zwischen zwei Bereichen schneiden, einfach hinzufügen oder ersetzen.

Werte von nicht zusammenhängenden Zellen in VBA ersetzen

Es kann Situationen geben, in denen wir die Werte der nicht zusammenhängenden Zellen ersetzen müssen. Wir können das leicht tun, indem wir den Bereich für mehrere Zellen oder eine einzelne Zelle verwenden.

Setzen Sie bei nicht zusammenhängenden Zellen ein Komma (``) zwischen verschiedene Zellenadressen. Lassen Sie uns ein Beispiel durchgehen, in dem wir die Werte bestimmter Zellen ersetzen, wie unten gezeigt.

# vba
Sub callIt()

Range("A2,C3,B5") = 10

End Sub

Ausgang:

Ändern Sie die Werte nicht zusammenhängender Zellen in VBA

Lassen Sie uns nun den Wert einer einzelnen nicht zusammenhängenden Zelle ändern, wie unten gezeigt.

# vba
Sub callIt()

Cells(5, 2) = "Hello"

End Sub

Ausgang:

Ändern Sie die Werte einer einzelnen nicht zusammenhängenden Zelle in VBA

Versatz von einer Zelle in VBA

Während der Arbeit an VBA mit Excel-Tabellen kann es vorkommen, dass wir eine Referenzzelle haben, aus der wir einen Offset-Zellenwert erhalten oder den Wert der Zelle basierend auf der einen Zellenadresse ersetzen möchten.

Wir können die offset-Methode verwenden, um dieses Szenario reibungslos zu erreichen.

Lassen Sie uns ein Beispiel durchgehen, in dem wir diese Funktion verwenden, um 1 Spalte und 1 Zeile mit der Methode Bereich zu verschieben, wie unten gezeigt.

# vba
Sub callIt()

Range("A1").Offset(1, 1) = "A1"

End Sub

Ausgang:

Fügen Sie Werte mit der Offset-Methode in Range in VBA hinzu

Probieren Sie nun das gleiche Szenario mit der unten stehenden Cells-Methode aus.

# vba
Sub callIt()

Cells(1, 1).Offset(0, 0) = "A1"

End Sub

Ausgang:

Fügen Sie Werte mit der Offset-Methode in Zellen in VBA hinzu

Stellen wir uns nun vor, wenn wir die Werte zu mehreren Zellen hinzufügen möchten, basierend auf dem Offset-Wert des Bereichs, können wir dies wie unten gezeigt tun.

# vba
Sub callIt()

Range("A1:B13").Offset(4, 2) = "Completed"

End Sub

Ausgang:

Hinzufügen von Werten zu einem Bereich mithilfe der Offset-Methode in Zellen in VBA

Verweisen Sie auf eine Zellenadresse in VBA

Wenn wir nun die Adresse einer Zelle erhalten möchten, können wir sie schnell mit der Funktion Adresse erhalten. Lassen Sie uns ein Beispiel durchgehen, in dem wir versuchen werden, die Adresse einer bestimmten Zelle zu erhalten, wie unten gezeigt.

# vba
Sub callIt()

Set cell = Cells(2, 4)

MsgBox cell.Address

End Sub

Ausgang:

Adresse einer Zelle in VBA abrufen

Wie Sie dem obigen Beispiel entnehmen können, können wir mit der Methode address in VBA ganz einfach die Adresse einer beliebigen Zelle ermitteln.

Alle Zellen in VBA einschließen

Es kann Situationen geben, in denen wir alle Daten aus allen Zellen löschen möchten. Für dieses Szenario können wir den folgenden Code wie unten gezeigt schreiben.

# vba
Sub callIt()

Cells.Clear

End Sub

Ausgang:

Löschen Sie alle Zellen in VBA

Wie Sie an dem obigen Beispiel sehen können, können wir das leicht

Ändern Sie die Eigenschaften einer Zelle in VBA

Es kann Situationen geben, in denen wir die Eigenschaften bestimmter Zellen ändern müssen. VBA bietet einfache Möglichkeiten, die Eigenschaften einer beliebigen Zelle zu ändern.

Lassen Sie uns ein Beispiel durchgehen, in dem wir die Schriftfarbe ändern, wie unten gezeigt.

# vba
Sub callIt()

Set NewCell = Range("A1")

NewCell.Activate

NewCell.Font.Color = RGB(255, 0, 0)

End Sub

Ausgang:

Ändern Sie die Schriftfarbe mit VBA

Versuchen wir nun, die Schriftfamilie und Schriftgröße der Zelle zu ändern, wie unten gezeigt.

# vba
Sub callIt()

Set cell = Range("A1")

cell.Activate

cell.Font.Size = 20
cell.Font.FontStyle = "Courier"

End Sub

Ausgang:

Schriftgröße und Schriftstil von VBA geändert

Suchen Sie die letzte Zelle in VBA

Es kann Situationen geben, in denen wir die letzte Zelle der Spalte oder Zeile finden müssen. Wir können Row.count und Column.count in VBA verwenden, um die letzte Zeile eines Excel-Arbeitsblatts zu finden.

Lassen Sie uns, wie unten gezeigt, ein Beispiel durchgehen und die letzte Zelle aus Zeilen und Spalten finden.

# vba
Sub callIt()

MsgBox ("Last cell row wise in the sheet: " & Rows.Count)

MsgBox ("Last cell column wise in the sheet: " & Columns.Count)

End Sub

Ausgang:

Suchen Sie die letzte Zelle in Spalten und Zeilen in VBA

Wie Sie im obigen Beispiel sehen können, ist es ziemlich einfach, die letzte Zelle der Zeile oder Spalte zu finden, indem Sie die einfache Funktion Zählen verwenden.

Finden Sie die letzte Zelle, die in einer Spalte in VBA verwendet wird

Es kann Situationen geben, in denen wir die letzte von einer Spalte verwendete Zelle wissen möchten, um eine Vorstellung von der Anzahl der Daten zu bekommen, die wir speichern.

Lassen Sie uns, wie unten gezeigt, ein Beispiel durchgehen und die letzte Zelle finden, die in bestimmten Spalten belegt ist.

# vba
Sub callIt()

MsgBox (Cells(Rows.Count, "B").End(xlUp).Row)

End Sub

Ausgang:

Suchen Sie die letzte Zelle in einer Spalte, die in VBA verwendet wird

Wie Sie im obigen Beispiel sehen können, können wir die letzte verwendete Zelle mit 100%iger Genauigkeit finden. VBA ist die beste Methode, um diese Dinge genau zu finden und keine Daten zu verlieren.

Suchen Sie die letzte Zelle, die in einer Reihe in VBA verwendet wird

Es kann Situationen geben, in denen wir die letzte Zelle wissen möchten, die von einer Zeile verwendet wird, um eine Vorstellung von der Anzahl der Daten zu bekommen, die wir speichern.

Lassen Sie uns, wie unten gezeigt, ein Beispiel durchgehen und die letzte belegte Zelle in einer bestimmten Zeile finden.

# vba
Sub callIt()

MsgBox (Cells(9, Columns.Count).End(xlToLeft).Column)

End Sub

Ausgang:

Suchen Sie die letzte Zelle in einer Reihe, die in VBA verwendet wird

Wie Sie im obigen Beispiel sehen können, können wir die letzte verwendete Zelle mit 100%iger Genauigkeit finden. VBA ist die beste Methode, um diese Dinge genau zu finden und keine Daten zu verlieren.

Zellenwerte in VBA kopieren und einfügen

Es kann Situationen geben, in denen wir bestimmte Werte von einer Zelle in eine andere Zelle kopieren und einfügen müssen. Oder wir können auch mit VBA von einem Blatt in ein anderes Blatt kopieren und einfügen, wie unten gezeigt.

# vba
Sub callIt()

Worksheets("Sheet2").Range("A1:B13").Copy Destination:=Worksheets("Sheet1").Range("A1")

End Sub

Ausgang:

Kopieren und Einfügen in VBA

Wie Sie im obigen Beispiel sehen können, können wir viele Aufgaben mit Zellen ausführen.

Verwandter Artikel - VBA Cell