Hallo,
ich brauche ein VBA Code um folgendes zu machen, ich möchte die gesamte Zeile übernehmen wenn in C2 bis N2 irgendwo eine "1" steht, sollte dort keine "1" stehen soll die Zeile nicht in ein neues Arbeitsblatt übernommen werden. Anbei ein Beispiel.
Ich hoffe Ihr könnt mir weiter helfen. [
attachment=7851]
Vielen Dank & beste Grüße
Ole
Hallo Ole,
mit dem Spezialfilter so z.B.:
Sub EinserInNeuesBlatt()
Dim owsAlt As Worksheet
Dim oWsNeu As Worksheet
Set owsAlt = Worksheets("Tabelle1")
With Worksheets.Add(After:=Sheets(Sheets.Count))
owsAlt.Rows("1:1").Copy .Cells(1)
.Range("C2,D3,E4,F5,G6,H7,I8,J9,K10,L11,M12,N13").Value = 1
owsAlt.Columns("A:N").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("A1:N13"), CopyToRange:=.Range("A15"), Unique:=False
.Rows("1:14").Delete
.Range("A1").Select
End With
End Sub
Gruß Uwe
Vielen Dank Uwe!
Es klappt wirklich sehr gut!
Jetzt habe ich mal eine Frage ist es noch möglich, das das Makro die Zeilen zusammenaddiert wo Geschäftsart, Code und der Monat gleich sind?
Also dass aus
GA Code Feb
GTF E4EE 1
GTF E4EE 1
soll dann bitte
GTF E4EE 2
werden.
Vielen Dank & liebe Grüße
Ole
Hallo Ole,
vielleicht so:
Sub EinserInNeuesBlatt()
Dim owsAlt As Worksheet
Dim lngLZ As Long
Set owsAlt = Worksheets("Tabelle1")
With Worksheets.Add(After:=Sheets(Sheets.Count))
owsAlt.Rows("1:1").Copy .Cells(1)
.Range("C2,D3,E4,F5,G6,H7,I8,J9,K10,L11,M12,N13").Value = 1
owsAlt.Columns("A:N").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("A1:N13"), CopyToRange:=.Range("A15"), Unique:=False
.Rows("1:14").Delete
lngLZ = .UsedRange.Rows.Count
With .Range("C2:N" & lngLZ)
.SpecialCells(xlCellTypeConstants).Formula = "=COUNTIFS($A$2:$A$" & lngLZ & ",$A2,$B$2:$B$" & lngLZ & ",$B2)"
.Value = .Value
.CurrentRegion.Sort Key1:=Range("A2"), Order1:=xlDescending, Header:=xlYes
.CurrentRegion.AdvancedFilter xlFilterInPlace, , , True
End With
.Range("A1").Select
End With
End Sub
Gruß Uwe
Hallo Uwe,
das funktioniert leider nicht. Hast du sonst ne Idee wir ich das mit Formeln machen kann?
Grüße Ole
Hallo Ole,
(09.11.2016, 14:22)Olossos schrieb: [ -> ]das funktioniert leider nicht. Hast du sonst ne Idee wir ich das mit Formeln machen kann?
nein, habe ich nicht, zumal ich nicht einmal weiß, was nicht "funktioniert".
Gruß Uwe
Hallo Ole,
Eine Formellösung wäre die Excel-Funktion SUMMEWENNS
Tabellenblattname: Tabelle1
| A | B | C | D | E | F |
---|
1 | Wo | Wann | Was | Suche | | |
---|
2 | Gera | gleich | 3 | Wo | Wann | Was |
---|
3 | Jena | gleich | 8 | Gera | Gleich | 7 |
---|
4 | Gera | sofort | 6 | | | |
---|
5 | Gera | gleich | 4 | | | |
---|
Benutzte Formeln:
F3: =SUMMEWENNS(C2:C5;A2:A5;"Gera";B2:B5;"gleich")
© schauan
Alternativen wäre u.a. eine "intelligente" Tabelle oder Liste, wo Du filterst und in der Ergebniszeile dann das TEILERGEBNIS siehst.