510 Aufrufe
Gefragt in Tabellenkalkulation von jelena Mitglied (737 Punkte)

Hallo guten Abend, brauche wieder eure Hilfe.

Ich benutze Excel 365 und es sollte, sobald in Spalte A2, A3 usw. eine Zahl oder Text eingetragen wird, so weit wie in Spalte A2, A3 usw. etwas enthalten ist, in Spalte H2, H3 usw. die Formel =WENN(ZÄHLENWENN($I$2:I2;I2)=1;ZÄHLENWENN(I:I;I2);"") und in Spalte i2, i3 usw. die Formel = WENN(B2="";"";B2&"  "&C2&"  "&E2) automatisch per vba eingetragen werden. Wenn möglich bitte den kompletten vba anzeigen da ich mich nicht so gut auskenne. Alles in der Tabelle “Alle Teilnehmer“.  Vielen Dank.

14 Antworten

0 Punkte
Beantwortet von jelena Mitglied (737 Punkte)
Hallo Karin ich habe es so versucht und es scheint zu funktionieren. Vielen dank

Sub FormelnEintragen()
    Dim lngLetzte As Long
    lngLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
    Cells(2, 8).Formula = "=IF(COUNTIF($I$2:I2,I2)=1,COUNTIF(I:I,I2),"""")"
    Cells(2, 9).Formula = "=IF(B2="""","""",B2&""  ""&C2&""  ""&E2)"
    Range("i2:H2").AutoFill Destination:=Range(Cells(2, 8), Cells(lngLetzte, 9)), Type:=xlFillDefault
        With Range("j2:J2")
        .HorizontalAlignment = xlCenter
        .Interior.Color = 13750737
        With .Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .Color = 11184814
            .Weight = xlThin
        End With
        .AutoFill Destination:=Range(Cells(2, 10), Cells(lngLetzte, 10)), Type:=xlFillFormats
    End With
End Sub
0 Punkte
Beantwortet von beverly_ Experte (3.3k Punkte)

Hi,

und was ist mit dem Zentrieren von Spalte H, I und J? Das fehlt in deinem jetzigen Code. Und sollen die Spalten H und I nun ebenfalls Grau formatiert und mit Rahmen oben und unten versehen werden oder nicht? Du hattest weiter oben doch geschrieben, dass der Code für die Spalten H und I passt - und dort wurden die Spalten zentriert, grau gefärbt und jede Zelle mit Rahmen versehen.

Also bitte nochmal ganz genau, was mit den Spalten H, I und J bezüglich der Formatierung passieren soll (mit den Formeln gibt es ja keine Probleme).

Bis später, Karin

0 Punkte
Beantwortet von jelena Mitglied (737 Punkte)
ausgewählt von jelena
 
Beste Antwort

Hallo Karin, dass der Code für die Spalten H und I passt meinte ich dieses Makro.

Sub FormelnEintragen()
    Dim lngLetzte As Long
    lngLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
    Cells(2, 8).Formula = "=IF(COUNTIF($I$2:I2,I2)=1,COUNTIF(I:I,I2),"""")"
    Cells(2, 9).Formula = "=IF(B2="""","""",B2&""  ""&C2&""  ""&E2)"
    Range("i2:H2").AutoFill Destination:=Range(Cells(2, 8), Cells(lngLetzte, 9)), Type:=xlFillDefault
End Sub

Dieses Makro läuft nach meiner vorstellung.
Sub FormelnEintragen()
    Dim lngLetzte As Long
    lngLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
    Cells(2, 8).Formula = "=IF(COUNTIF($I$2:I2,I2)=1,COUNTIF(I:I,I2),"""")"
    Cells(2, 9).Formula = "=IF(B2="""","""",B2&""  ""&C2&""  ""&E2)"
    Range("i2:H2").AutoFill Destination:=Range(Cells(2, 8), Cells(lngLetzte, 9)), Type:=xlFillDefault
        With Range("j2:J2")
        .HorizontalAlignment = xlCenter
        .Interior.Color = 13750737
        With .Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .Color = 11184814
            .Weight = xlThin
        End With
        .AutoFill Destination:=Range(Cells(2, 10), Cells(lngLetzte, 10)), Type:=xlFillFormats
    End With
End Sub
Nochmal vielen Dank.
0 Punkte
Beantwortet von jelena Mitglied (737 Punkte)

Hallo Karin wäre es möglich, wenn ich in Spalte G etwas eintrage, erst dann soll diese Zahl oder Text solange nach unten kopiert werden solange in Spalte A etwas enthalten ist. Ich müsste das in den nachfolgenden makro einbauen. Vielen Dank im Voraus.

Sub nachJahrSortieren()

Application.ScreenUpdating = False 'Bildschirmaktualisierung ausschalten

    ActiveSheet.EnableOutlining = True 'für Gliederung

    ActiveSheet.EnableAutoFilter = True  'AutoFilter trotz Blattschutz

Sheets("Alle Teilnehmer").Activate

ActiveSheet.Range("A:n").Select     'ab Spalte G2 sortieren von Z bis A

Selection.Sort Key1:=Range("G2"), Key2:=Range("B2"), _

Order1:=xlDescending, Header:=xlYes, _

OrderCustom:=1, MatchCase:= _

False, Orientation:=xlTopToBottom

    Dim lngLetzte As Long       'Formel ab Spalte H2:I2 eintragen

    lngLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)

    Cells(2, 8).Formula = "=IF(COUNTIF($I$2:I2,I2)=1,COUNTIF(I:I,I2),"""")"

    Cells(2, 9).Formula = "=IF(B2="""","""",B2&""  ""&C2&""  ""&E2)"

    Cells(2, 11).Formula = "=IF(AND(H2=1,G2=$L$1),""neu"","""")"

    Range("i2:H2").AutoFill Destination:=Range(Cells(2, 8), Cells(lngLetzte, 9)), Type:=xlFillDefault

    Range("k2").AutoFill Destination:=Range(Cells(2, 11), Cells(lngLetzte, 11)), Type:=xlFillDefault

        With Range("j2:J2")         ' Spalten und Rahmenfarbe ab Spalte J2 eintragen

        .HorizontalAlignment = xlCenter

        .Interior.Color = 13750737

        With .Borders(xlEdgeTop)

            .LineStyle = xlContinuous

            .Color = 11184814

            .Weight = xlThin

        End With

        .AutoFill Destination:=Range(Cells(2, 10), Cells(lngLetzte, 10)), Type:=xlFillFormats

    End With

Application.ScreenUpdating = True 'Bildschirmaktualisierung einschalten

    Range("G2").Select

End Sub

...