Microsoft Excel

Herbers Excel/VBA-Archiv

Mehrere Bedingungen


Betrifft: Mehrere Bedingungen
von: Georg
Geschrieben am: 18.12.2018 09:57:11

Liebe Mitglieder,folgender Code macht zu 99% was er soll. Aber i-wie komme ich mit der Reihenfolge der Abarbeitung nicht klar.
In Spalte C, D , E steht entweder eine 1 oder leer.
Starten tut alles ab Zeile 6:
Steht in C6 eine 1, dann soll der Wert aus B6 in G6 geschrieben werden, dann nächste Zeile.
Steht in D6 eine 1 dann soll in H6 der Wert aus B6 geschrieben werden.
Das Problem, der erste Wert in Spalte D ist D15, und er schreibt dann den Werte von B15 nach H15.
Ich hätte aber gerne, dass er in H6 anfängt.
Hat das mit der Reihenfolge des Codes zu tun?:
DANKE für einen Tipp.

Sub BpxStatus()
Dim wsh As Worksheet
Dim i As Long
Dim j As Long
j = 6

ThisWorkbook.Worksheets("Tabelle2").Activate
Application.Calculation = xlCalculationManual

'Auslesen Nachrekrutierung muss erfolgen
With ThisWorkbook.Worksheets("Tabelle2")
    For i = 6 To 88

        If .Cells(i, 3).Value = 1 Then
        ThisWorkbook.Worksheets("Tabelle2").Cells(j, 7).Value = ThisWorkbook.Worksheets(" _
Tabelle2").Cells(i, 2)
        j = j + 1
        End If
    Next i
End With
'----------------------------------------------------------------------------------------------- _
-------------------------------------


'Auslesen Offener Personalbedarf
With ThisWorkbook.Worksheets("Tabelle2")
    For i = 6 To 88

        If .Cells(i, 4).Value = 1 Then
        ThisWorkbook.Worksheets("Tabelle2").Cells(j, 8).Value = ThisWorkbook.Worksheets(" _
Tabelle2").Cells(i, 2)
        j = j + 1
        End If
    Next i
End With
'----------------------------------------------------------------------------------------------- _
----------------------------------------

'Auslesen  Personalbedarf gedeckt
With ThisWorkbook.Worksheets("Tabelle2")
    For i = 6 To 88

        If .Cells(i, 5).Value = 1 Then
        ThisWorkbook.Worksheets("Tabelle2").Cells(j, 9).Value = ThisWorkbook.Worksheets(" _
Tabelle2").Cells(i, 2)
        j = j + 1
        End If
    Next i
End With
Application.Calculation = xlCalculationAutomatic

End Sub

  

Betrifft: AW: Mehrere Bedingungen
von: Torsten
Geschrieben am: 18.12.2018 10:32:50

Hallo Georg,

du sagts doch, dass der Wert aus B in H geschrieben werden soll, wenn in D eine 1 steht!!!
Wenn also der erste Wert in D15 steht, kann ja in D6 keine 1 sein, damit die Bedingung erfuellt wird, dass schon in Zeile 6 kopiert wird. Logischerweise faengt der Code dann in Zeile 15 an, da er erst hier eine 1 findet.


  

Betrifft: AW: Danke, das stimmt...
von: Georg
Geschrieben am: 18.12.2018 10:47:07

natürlich Thorsten, da hab ich einen Denkfehler drin. Gäbe es eine andere Lösung?
Grüße Georg


  

Betrifft: habs inzwischen gelöst...
von: Georg
Geschrieben am: 18.12.2018 11:43:37

..mit loLetzte Zeile, die ich vorangestellt habe. Gruß G