Hallo,
wie kann ich in VBA alle Zeilen einer Spalte auswählen?
Ich habe den folgenden Code geschrieben - der sich innerhalb einer übergeordnetten Schleife befindet - und möchte jetzt die Anzahl der Zahlen in den einzelnen Jahren bestimmen (Position(ALLE ZEILEN,5 bis 10)). Mit MatLab würde ich einfach beispielsweise schreiben Position(:,5) und würde alle Zeilen der fünften Spalte damit ansprechen. Bisher habe ich noch nichts ähnliches für VBA gefunden (z.B. Position(All,5) ?). Oder kann ich dies mit dem Befehl ANZAHL bewerkstelligen?
Vielen Dank im Voraus
Anfänger
Workbooks(strDateiInput).Worksheets("Kostenübersicht").Activate
With Worksheets("Kostenübersicht")
jj = 1 'jj soll bei jedem neuen Durchlauf sicherheitshalber 1 sein
letzteZeile = .Cells(Rows.Count, 2).End(xlUp).Row
For aa = 6 To letzteZeile
Abfrage_1 = IsEmpty(Cells(aa - 1, 1).Value) = True
'Abfrage_2 = InStr(Cells(aa - 1, 2), "BW ")
Abfrage_2 = Cells(aa, 2).Value = "Objektplanung" Or (IsEmpty(Cells(aa - 1, 1).Value) = True And InStr(Cells(aa - 1, 2), "BW ")) 'And Cells(aa, 2).Value = "Bauphase"
If Abfrage_1 And Abfrage_2 Then
If jj = 1 Then
Position(jj, 1) = aa 'schreibe die Position in ein Array, Excelzeile
Position(jj, 2) = Cells(aa, 2).Value 'Beschreibung
Position(jj, 3) = Cells(aa, 4).Value 'Kostenart
Position(jj, 4) = Cells(aa, 8).Value 'Verpflichtungsjahr
Position(jj, 5) = Cells(aa, 16).Value 'Jahre 2021
Position(jj, 6) = Cells(aa, 18).Value 'Jahre 2022
Position(jj, 7) = Cells(aa, 20).Value 'Jahre 2023
Position(jj, 8) = Cells(aa, 22).Value 'Jahre 2024
Position(jj, 9) = Cells(aa, 24).Value 'Jahre 2025
Position(jj, 10) = Cells(aa, 26).Value 'Jahre 2026
jj = jj + 1
Else
Position(jj, 1) = aa 'schreibe die Position in ein Array
Position(jj, 2) = Cells(aa, 2).Value 'Beschreibung
Position(jj, 3) = Cells(aa, 4).Value 'Kostenart
Position(jj, 4) = Cells(aa, 8).Value 'Verpflichtungsjahr
Position(jj, 5) = Cells(aa, 16).Value 'Jahre 2021
Position(jj, 6) = Cells(aa, 18).Value 'Jahre 2022
Position(jj, 7) = Cells(aa, 20).Value 'Jahre 2023
Position(jj, 8) = Cells(aa, 22).Value 'Jahre 2024
Position(jj, 9) = Cells(aa, 24).Value 'Jahre 2025
Position(jj, 10) = Cells(aa, 26).Value 'Jahre 2026
jj = jj + 1
End If
End If
Next aa
For kk 5 to 10
' Anzahl(Position(All, kk )) '<<-- wie schreibe ich dies in VBA
Next kk
End With
|