Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zelle kopieren wenn Bedingungen (nicht)

Zelle kopieren wenn Bedingungen (nicht)
05.06.2023 11:39:11
Marcel Sch

Hallo zusammen.

Ich habe eine Arbeitsmappe mit mehreren Tabellen.
Nun möchte ich gerne per Macro bestimmt Zellen kopieren und in ein neues Blatt einfügen.
Es soll alles Zeilenweise kopiert werden, wenn in Zelle F ein "EZ" steht und in Zelle D die Variable "Artnr.", die ich vorher per InputBox abfrage, NICHT enthalten ist.
Sonderheit bei der Art.-Nr ist, das dort nur die ersten 5 Ziffern abgefragt werden, die können aber auch länger sein.
Zum Beispiel 12345-678-900, wobei da nur 12345 geprüft wird. wenn dort eine andere Zahl steht, soll das ganze kopiert werden.

Mein bisheriger Code:


Public blnMakroStart As Boolean
Public Artnr As String

Sub artkopieren()  ''control As IRibbonControl

blnMakroStart = True  '' Um Nacher im Modul 8 "formatactiv" die Art-Nr zu übernehmen

Dim ws As Worksheet
Dim blatt As Object
Dim blattname As String
Dim bolFlg As Boolean


Dim cell As Range



Artnr = InputBox(Title:="Kom.#", Prompt:="Bitte Kom.-# eingeben:", Default:=12345)
If Artnr = "" Then Exit Sub

'Blattname definieren
blattname = "Kopierte Daten"

'** Prüfen, ob das Blatt, welches eingefügt werden soll bereits vorhanden ist
'** Nur einfügen, wenn Blatt noch nicht vorhanden ist
For Each blatt In Sheets
  If blatt.Name = blattname Then bolFlg = True
Next blatt
 
'** Blatt nur einfügen, wenn noch nicht vorhanden
If bolFlg = False Then
    Sheets.Add
With ActiveSheet
.Name = blattname
.Move after:=Sheets(Worksheets.Count)
End With

Else
MsgBox "Blatt schon vorhanden;" & Chr(13) & Chr(10) & "bitte umbenennen", vbOKOnly, "Fehler"
Exit Sub
End If

Call Formataktiv

''MsgBox Artnr


    With Sheets(2)
        For Each cell In .Range("F6:F" & .Cells(Rows.Count, "F").End(xlUp).Row)
             If cell.Value = "EZ" And Not cell(0, -2).Value = Artnr & " * " Then
                  cell.EntireRow.Copy Destination:=Sheets(blattname).Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)
             End If
        Next
    End With


End Sub


Der Call von "Formatactiv" formatiert nur das Blatt, wie Zeilenabstände etc.
Deswegen auch die beiden Public Variablen, da die dort dann verarbeitet werden.

Wie könnte ich das ganze lösen?

Gruß,
Marcel

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle kopieren wenn Bedingungen (nicht)
05.06.2023 12:42:08
GerdL
Hallo Marcel,
das Sternchen tut es nur beim Like-Operator. Du möchtest nur die ersten fünf Stellen abgleichen.

 ... And Left(cell(0, -2), 5) > Artnr Then
Gruß Gerd


AW: Zelle kopieren wenn Bedingungen (nicht)
05.06.2023 13:11:26
Marcel Sch
Hallo,

super, das funktioniert so!
Recht herzlichen Dank!

Gruß
Marcel

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige