Microsoft Excel

Herbers Excel/VBA-Archiv

Zelle plus 1 in VBA

Betrifft: Zelle plus 1 in VBA von: leo
Geschrieben am: 25.09.2020 13:29:02

Ich möchte in einer Spalte Seriennummern abfragen. Wenn die Nummer aus Zelle A2 gleich ist wie jene aus A3 dann soll etwas passieren.

Ich frage ich das richtig in VBA mit IfThenElse ab???


Danke Leo

Betrifft: AW: Zelle plus 1 in VBA
von: UweD
Geschrieben am: 25.09.2020 13:42:36

Hallo Leo
    For i = 2 To 100
        If Cells(i, 1) = Cells(i + 1, 1) Then
            'Mach was
        Else
            'Nix
        End If
    
    Next

LG UweD

Betrifft: AW: Zelle plus 1 in VBA
von: leo
Geschrieben am: 25.09.2020 14:05:00

Hello Uwe,

Super das hat geholfen mit der Schleife, ;-))

Danke
lg leo

Betrifft: AW: Zelle plus 1 in VBA
von: leo
Geschrieben am: 25.09.2020 14:20:59

Hello Uwe, da dein Tipp geklappt hat, hätte ich noch eine die etwas kniffliger ist ;-(

Es wurden die identen Nummern gefunden, nun sollen die beiden Brutto Werte addiert und im leeren Feld ausgegeben werden.

Ist dies möglich, wenn ja wie!??

DANKE

lg leo




Betrifft: AW: Zelle plus 1 in VBA
von: UweD
Geschrieben am: 25.09.2020 14:49:12

Hallo nochmal

so?
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


LG UweD

Betrifft: AW: Zelle plus 1 in VBA
von: leo
Geschrieben am: 25.09.2020 15:13:20

Hello, Uwe sorry dumme Frage, muss ich beiden Codes verbinden ???

CODE1 -> sucht 2 gleiche Persnr.
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

Betrifft: AW: Zelle plus 1 in VBA
von: UweD
Geschrieben am: 25.09.2020 15:19:21

Hi

den Ersten Code brauchst du nicht mehr.


Habe einiges variable gestaltet, so das man nur an einer Stelle ändern muss
Die 100 habe ich durch die tatsächliche Anzahl an Zeilen ersetzt
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


Betrifft: AW: Zelle plus 1 in VBA
von: leo
Geschrieben am: 25.09.2020 15:27:56

Hi Uwe, ok thanx,.... dann werde ich mal versuchen ;-)))

lg leo

Betrifft: AW: Zelle plus 1 in VBA
von: leo
Geschrieben am: 25.09.2020 15:39:41

Hi, letzte Frage, wo wäre was zu Ändern?? Da es leider nicht klappt ;-(((

DANKEEEEE

Betrifft: AW: Zelle plus 1 in VBA
von: UweD
Geschrieben am: 25.09.2020 15:48:17

Was klappt denn nicht?

Evtl. lädst du mal ein Musterdatei hoch

Betrifft: AW: Zelle plus 1 in VBA
von: leo
Geschrieben am: 25.09.2020 15:58:51

Hi, Datei anbei.

Suche nach identen PersNr., wenn welche gefunden werden, sollen die beiden Werte der Spalte "Brutto Neu" addiert und als Summe in die Spalte "Summe" geschrieben werden.

DANKEEEEEE

sg Leo

https://www.herber.de/bbs/user/140443.xlsx



...

Betrifft: AW: Zelle plus 1 in VBA
von: UweD
Geschrieben am: 25.09.2020 16:22:17

Du muss die Spalten an die jetzige Struktur anpassen

so Besser verständlich
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 

LG UweD

Betrifft: ohne VBA
von: UweD
Geschrieben am: 25.09.2020 16:24:16

geht das mit der Formel

E2: =WENN(A3=A2;C2+C3;"")

nach unten kopieren


LG UweD

Betrifft: ohne VBA
von: UweD
Geschrieben am: 25.09.2020 16:24:16

geht das mit der Formel

E2: =WENN(A3=A2;C2+C3;"")

nach unten kopieren


LG UweD

Betrifft: AW: ohne VBA
von: Leo
Geschrieben am: 25.09.2020 16:57:58

Hi Uwe,....
Großes DANKE,..... 👍🏼
Super....
Sg leo

Betrifft: Danke für die Rückmeldung (owT)
von: UweD
Geschrieben am: 28.09.2020 08:56:34