Formeln für eine Zelle in VBA festlegen
- Formeln für eine Zelle in VBA festlegen
- Adresse einer Zelle in VBA
- Wählen Sie in VBA den Zellbereich aus
- Schreiben Sie in Zellen in VBA
- Aus Zellen lesen in VBA
- Zellen schneiden in VBA
- Werte von nicht zusammenhängenden Zellen in VBA ersetzen
- Versatz von einer Zelle in VBA
- Verweisen Sie auf eine Zellenadresse in VBA
- Alle Zellen in VBA einschließen
- Ändern Sie die Eigenschaften einer Zelle in VBA
- Suchen Sie die letzte Zelle in VBA
- Finden Sie die letzte Zelle, die in einer Spalte in VBA verwendet wird
- Suchen Sie die letzte Zelle, die in einer Reihe in VBA verwendet wird
- Zellenwerte in VBA kopieren und einfügen
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:
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:
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:
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:
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:
Wir können auch die Methode Cells
verwenden, um dieselbe Funktion auszuführen.
# vba
Sub callIt()
Cells(4, 2) = "Value"
End Sub
Ausgang:
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:
Lassen Sie uns versuchen, dasselbe mit der unten stehenden range()
-Methode zu erreichen.
# vba
Sub callIt()
cellValue = Range("B4")
MsgBox (cellValue)
End Sub
Ausgang:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
Wie Sie im obigen Beispiel sehen können, können wir viele Aufgaben mit Zellen ausführen.