Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Zeile in eine Arbeitsmappe kopieren wenn in der Zeile eine 1 steht
#1
Lightbulb 
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.
.xlsx   Beispiel.xlsx (Größe: 8,24 KB / Downloads: 1)

Vielen Dank & beste Grüße


Ole
Antworten Top
#2
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
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Olossos
Antworten Top
#3
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


Angehängte Dateien
.xlsx   Beispiel.xlsx (Größe: 8,27 KB / Downloads: 2)
.xlsx   Beispiel2.xlsx (Größe: 8,27 KB / Downloads: 1)
Antworten Top
#4
(09.11.2016, 10:17)Olossos schrieb: 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. und dann am besten nach Geschäftsart absteigend sortiert noch.

Vielen Dank & liebe Grüße
Ole
Antworten Top
#5
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
Antworten Top
#6
Hallo Uwe,

das funktioniert leider nicht. Hast du sonst ne Idee wir ich das mit Formeln machen kann?

Grüße Ole
Antworten Top
#7
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
Antworten Top
#8
Hallo Ole,

Eine Formellösung wäre die Excel-Funktion SUMMEWENNS
Tabellenblattname: Tabelle1
ABCDEF
1WoWannWasSuche
2Geragleich3WoWannWas
3Jenagleich8GeraGleich7
4Gerasofort6
5Geragleich4

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.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#9
Hallo André,

(11.11.2016, 16:53)schauan schrieb: Eine Formellösung wäre die Excel-Funktion SUMMEWENNS

welche nichts Neues ist. Wink

Gruß Uwe
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste