Ich frage ich das richtig in VBA mit IfThenElse ab?
Danke Leo
For i = 2 To 100
If Cells(i, 1) = Cells(i + 1, 1) Then
'Mach was
Else
'Nix
End If
Next
Sub dsjdhs()
Dim i As Long, SP As Integer, SPB As Integer
Dim LR As Long
SP = 2 'Spalte B
SPB = 35 'Spalte AI
LR = Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
For i = 2 To LR - 1
If Cells(i + 1, SP) = Cells(i, SP) And Cells(i, SP) "" Then
Cells(i, SPB + 2) = Cells(i, SPB) + Cells(i + 1, SPB)
Else
'Nix
End If
Next
End Sub
Sub IfThenElse()
Dim x As Long
For x = 2 To 100
If Cells(x, 2) = Cells(x + 2, 2) Then
Cells(30, 4).Value = "SUPERRR!!!"
Else
Cells(30, 4).Value = "NIX"
End If
Next
CODE 2 -> ?
Sub dsjdhs()
Dim i As Long, SP As Integer, SPB As Integer
Dim LR As Long
SP = 2 'Spalte B
SPB = 35 'Spalte AI
LR = Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
For i = 2 To LR - 1
If Cells(i + 1, SP) = Cells(i, SP) And Cells(i, SP) "" Then
Cells(i, SPB + 2) = Cells(i, SPB) + Cells(i + 1, SPB)
Else
'Nix
End If
Next
End Sub
===============================
Danke lg leo
Sub dsjdhs()
Dim i As Long, SP As Integer, SPB As Integer
Dim LR As Long
SP = 2 'Spalte B
SPB = 35 'Spalte AI
LR = Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
For i = 2 To LR - 1 'von 2 bis zur vorletzten Zeile
If Cells(i + 1, SP) = Cells(i, SP) And Cells(i, SP) "" Then ' wenn gleich und nicht _
leer
Cells(i, SPB + 2) = Cells(i, SPB) + Cells(i + 1, SPB) ' Summe
Else
'Nix
End If
Next
End Sub
Sub Leo()
Dim i As Long, SP As Integer, SPB As Integer, SPS As Integer
Dim LR As Long, Z1 As Integer
SP = 1 'Spalte PersNr
SPB = 3 'Spalte Brutto
SPS = 5 'Spalte Summe
Z1 = 2 ' Erste Zeile mit Daten
LR = Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
'reset
Cells(Z1, SPS).Resize(LR - Z1 + 1, 1).ClearContents
For i = Z1 To LR - 1 'von 2 bis zur vorletzten Zeile
If Cells(i + 1, SP) = Cells(i, SP) And _
Cells(i, SP) "" Then ' wenn gleich und nicht leer
Cells(i, SPS) = Cells(i, SPB) + Cells(i + 1, SPB) ' Summe
Else
'Nix
End If
Next
End Sub
Um in Excel mit VBA eine Zelle um 1 zu erhöhen, kannst du folgende Schritte befolgen:
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu starten.
Füge ein neues Modul hinzu, indem du mit der rechten Maustaste in den Projekt-Explorer klickst und auf Einfügen
> Modul
auswählst.
Kopiere den folgenden Code in das Modul:
Sub ZellePlusEins()
Dim i As Long
Dim letzteZeile As Long
letzteZeile = Cells(Rows.Count, 1).End(xlUp).Row ' letzte Zeile in Spalte A
For i = 2 To letzteZeile ' von Zeile 2 bis zur letzten Zeile
Cells(i, 1) = Cells(i, 1) + 1 ' Zelle in Spalte A um 1 erhöhen
Next i
End Sub
Schließe den VBA-Editor und gehe zurück zu Excel.
Führe das Makro aus, indem du ALT + F8
drückst, das Makro ZellePlusEins
auswählst und auf Ausführen
klickst.
Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs."
Fehler: "Typ nicht übereinstimmend."
Falls du keine VBA-Programmierung verwenden möchtest, kannst du auch mit Excel-Formeln arbeiten. Zum Beispiel:
In Zelle B2 schreibe die Formel:
=A2 + 1
Ziehe die Formel nach unten, um sie auf die anderen Zellen anzuwenden.
Diese Methode ist besonders nützlich, wenn du schnell und ohne Programmierung arbeiten möchtest.
Wenn du in Spalte A Seriennummern hast und in Spalte B die entsprechenden Bruttowerte, kannst du den folgenden VBA-Code verwenden:
Sub SeriennummernSummieren()
Dim i As Long, letzteZeile As Long
letzteZeile = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To letzteZeile - 1
If Cells(i, 1) = Cells(i + 1, 1) Then
Cells(i, 3) = Cells(i, 2) + Cells(i + 1, 2) ' Summe in Spalte C
End If
Next i
End Sub
Dieser Code sucht nach identischen Seriennummern in Spalte A und summiert die entsprechenden Werte aus Spalte B in Spalte C.
Verwende Option Explicit
am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind. Das hilft, Fehler zu vermeiden.
Nutze Debug.Print
zur Fehlersuche, um den Wert von Variablen während der Ausführung des Codes zu überprüfen.
Experimentiere mit With...End With
-Blöcken, um den Code lesbarer und effizienter zu gestalten.
1. Wie kann ich die letzte Zeile in einer bestimmten Spalte finden? Du kannst die folgende Zeile verwenden, um die letzte Zeile in Spalte A zu finden:
letzteZeile = Cells(Rows.Count, 1).End(xlUp).Row
2. Kann ich den Code anpassen, um mehrere Spalten gleichzeitig zu bearbeiten? Ja, du kannst den Code so anpassen, dass er durch mehrere Spalten iteriert und die gewünschten Berechnungen für jede Spalte anwendet.
3. Wie kann ich eine Zelle um mehr als 1 erhöhen?
Ändere einfach den Code in der Schleife von Cells(i, 1) = Cells(i, 1) + 1
zu Cells(i, 1) = Cells(i, 1) + n
, wobei n
die gewünschte Erhöhung ist.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen