Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1792to1796
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

jede 10. Zeile prüfen und einfügen

jede 10. Zeile prüfen und einfügen
17.11.2020 09:15:41
Sarah
Guten Morgen.
Ich brauch eine Funktion in meinem Makro die in einem Tabellenblatt namens "Aufträge" ab Zeile 2, jede 10. Zeile prüft in spalte A. Also A2, A12, A22, ... . Es soll geprüft werden, ob die Zelle einen Wert beinhaltet oder nicht.
sobald das Makro auf eine leere Zeile stoßt bzw. auf eine leere Zelle, soll es einen kopierten wert da einfügen.
Das mit dem kopieren und Einfügen hab ich jetzt hinbekommen, aber das mit dem Prüfen jeder 10. Zeile und bei leeren Inhalt einfügen, hab ich leider noch nicht verstanden wie das funktionieren soll:
... .Copy
... .PasteSpecial xlPasteValues

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: jede 10. Zeile prüfen und einfügen
17.11.2020 09:27:23
Nepumuk
Hallo Sarah,
ein Beispiel:
Public Sub Beispiel()
    Dim lngRow As Long
    With Worksheets("Aufträge")
        For lngRow = 2 To .Cells(.Row.Count, 1).End(xlUp).Row Step 10
            If IsEmpty(.Cells(lngRow, 1).Value) Then
                ' Zelle leer - kopieren !!!
            End If
        Next
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: jede 10. Zeile prüfen und einfügen
17.11.2020 10:35:12
Sarah
ich hab das jetzt so mal umgeändert:
Public Sub Beispiel()
Dim lngRow As Long
With ThisWorkbook.Worksheets("Aufträge")
For lngRow = 2 To .Cells(.Row.Count, 1).End(xlUp).Row Step 10
If IsEmpty(.Cells(lngRow, 1).Value) Then
Workbooks(Datei1).Worksheets(1).Range("C15").Copy
ThisWorkbook.Worksheets("Aufträge").Cells(lngRow, 1).PasteSpecial xlPasteValues
End If
Next
End With
End Sub
leider kommt die Fehlermeldung, dass das Objekt die Eigenschaft/Methode nicht unterstützt.
In der Zeile: "For lngRow = 2 To .Cells(.Row.Count, 1).End(xlUp).Row Step 10"
Anzeige
AW: jede 10. Zeile prüfen und einfügen
17.11.2020 10:40:56
Nepumuk
Hallo Sarah,
oooooooooops. So geht's:
(.Rows.Count, 1)
Gruß
Nepumuk
AW: jede 10. Zeile prüfen und einfügen
17.11.2020 11:42:25
Sarah
Ah, ja jetzt hat es funktioniert.
Jetzt kommt schonmal keine Fehlermeldung mehr. Vielen dank.
Das Problem ist leider nur, dass es mir aber auch nichts in die leere Zelle Einfügt durch dieses Makro:
Public Sub Beispiel()
Dim lngRow As Long
With ThisWorkbook.Worksheets("Aufträge")
For lngRow = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row Step 10
If IsEmpty(.Cells(lngRow, 1).Value) Then
Workbooks(Datei1).Worksheets(1).Range("C15").Copy
ThisWorkbook.Worksheets("Aufträge").Cells(lngRow, 1).PasteSpecial xlPasteValues
End If
Next
End With
End Sub
hab ich irgendwas übersehen oder sonstiges? Ich habe es nur mit
Workbooks(Datei1).Worksheets(1).Range("C15").Copy
ThisWorkbook.Worksheets("Aufträge").Cells(2, 1).PasteSpecial xlPasteValues
probiert, und es hat geklappt.
Deswegen frage ich mich woran ich bei dem code oben gescheitert sein könnte.
Anzeige
AW: jede 10. Zeile prüfen und einfügen
17.11.2020 11:46:48
Nepumuk
Hallo Sarah,
befinden sich in Spalte A Formeln welche du überschreiben willst und die Zellen sind nur scheinbar leer?
Gruß
Nepumuk
AW: jede 10. Zeile prüfen und einfügen
17.11.2020 12:07:14
Sarah
Nein, das ist ein neu angefügtes Tabellenblatt ohne jegliche Formeln oder sonstigem.
Sub Import_Bestellformular()
Dim strFile As String
Dim strPath As String
Dim strExt As String
Dim ZWB As Workbook
strPath = "C:\Users\Obanslo\Desktop\Sarah\Arbeitsordner\"
strExt = "*.xlsx"
strFile = Dir(strPath & strExt)
Set ZWB = ThisWorkbook
If strPath = "" Then
Exit Sub
Else
Do While Len(strFile) > 0
Workbooks.Open Filename:=strPath & strFile
'--------------------------------------------------------- ab hier
Dim lngRow As Long
With ZWB.Worksheets("Aufträge")
For lngRow = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row Step 10
If IsEmpty(.Cells(lngRow, 1).Value) Then
Workbooks(Datei1).Worksheets(1).Range("C15").Copy
ZWB.Worksheets("Aufträge").Cells(lngRow, 1).PasteSpecial xlPasteValues
End If
Next
End With
Workbooks(strFile).Close savechanges:=False
strFile = Dir()                 ' nächste Datei
Loop
End If
End Sub
Vielleicht hilft es ja wenn ich mal den ganzen code zeige.
Die Idee dahinter ist einfach, dass das makro jede Datei in einem Ordner durcharbeiten soll und dann die werte aus C15 immer in die 10. leere Zeile in das Tabellenblatt "Aufträge" fortführt.
es gibt "leider" keine Fehlermeldung aus, aber das kopieren und einfügen hat wohl auch nicht geklappt. Hab ich da noch nen denkfehler im code oder an was könnte es liegen?
wenn ich ganz normal kopiere ohne diese schleife mit jeder 10. Zeile, klappt das hervorragend.
Also dürfte es da auch kein Fehler mit den datei namen oder dem pfad geben.
Anzeige
AW: jede 10. Zeile prüfen und einfügen
17.11.2020 12:21:19
Nepumuk
Hallo Sarah,
dann teste mal so:
Public Sub Import_Bestellformular()
    
    Dim strFile As String
    Dim strPath As String
    Dim strExt As String
    Dim ZWB As Workbook
    Dim lngRow As Long
    
    strPath = "C:\Users\Obanslo\Desktop\Sarah\Arbeitsordner\"
    strExt = "*.xlsx"
    
    If strPath = "" Then Exit Sub
    
    strFile = Dir$(strPath & strExt)
    
    Do Until strFile = vbNullString
        
        Set ZWB = Workbooks.Open(Filename:=strPath & strFile)
        '--------------------------------------------------------- ab hier
        
        With ThisWorkbook.Worksheets("Aufträge")
            For lngRow = 2 To .Rows.Count Step 10
                If IsEmpty(.Cells(lngRow, 1).Value) Then
                    .Cells(lngRow, 1).Value = ZWB.Worksheets(1).Range("C15").Value
                    Exit For
                End If
            Next
        End With
        '---------------------------------------------------------
        ZWB.Close SaveChanges:=False
        
        strFile = Dir$ ' nächste Datei
        
    Loop
    Set ZWB = Nothing
End Sub

Gruß
Nepumuk
Anzeige
AW: jede 10. Zeile prüfen und einfügen
17.11.2020 12:37:30
Sarah
oh, vielen dank Nepumuk!
Es hat wunderbar funktioniert :)
auf dich ist Verlass! Dankeschön

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige