Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1856to1860
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

VBA Code Zeilen überspringen

VBA Code Zeilen überspringen
25.11.2021 10:46:38
Carl
Hallo Zusammen,
ich habe ein kleines Problem mit einem Code. Der Code kopiert aus einer Tabelle bestimmte Ausschnitte in eine andere Tabelle in einer Arbeitsmappe.
Da nicht alle Zelle aus der ersten Tabelle gefüllt sind, sollen Leerzellen mit dem darüber stehenden Wert gefüllt werden.
Jetzt habe ich aber das Problem das für die nächste Zeit keine Leerzeilen in der Ausgangstabelle vorhanden sind. Dadurch kommt es zu einem Laufzeitfehler, der wieso auch immer sogar übersprungen wird, wenn ich das Marko komplett durchlaufen lasse sondern nur wenn ich Einzelschritte prüfe.
Das Problem allerdings ist das alle Zellen in der zweiten Tabelle mit den Kopfzeilen der Tabelle überschrieben werden?
Wie kann ich prüfen, ob Tabellenzeilen leer sind, wenn ja, er diese auswählen soll und dann diese mit dem Wert darüber befüllt.
Da ja der Code beim Ablaufen keine Fehlermeldung generiert, ist eine On Error resume next Anweisung nicht hilfreich, bzw. es müssten ja eigentlich zwei Code Zeilen übersprungen worden.
P.S. ich weiß der Code ist nicht super und wahrscheinlich zu komplex geschrieben, aber ich befinde mich am Anfang und passe die Markos nach Aufzeichnung an.
Windows("KD3-6.xlsm").Activate
Sheets("KD_6").Select
Range("KD6er[[Auftrag]:[Artikelcode]]").Select
Application.CutCopyMode = False
Selection.Copy
Windows("KW47.xlsm").Activate
Sheets("6er").Select
Range("_6erProjekte[[Projekt]:[Artikelcode]]").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("KD3-6.xlsm").Activate
Range("KD6er[[Bestellmenge]:[Name]]").Select
Application.CutCopyMode = False
Selection.Copy
Windows("KW47.xlsm").Activate
Range("_6erProjekte[[Bestellmenge]:[Name]]").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("_6erProjekte[[Projekt]:[Artikelcode]]").Select
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
''# On Error Resume Next (bringt hier ja nix)
Selection.SpecialCells(xlCellTypeBlanks).Select
Application.CutCopyMode = False
Selection.FormulaR1C1 = "=R[-1]C"

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code Zeilen überspringen
25.11.2021 10:49:21
Hajo_Zi

Zellen ausfüllen mit Wert davor
Range("a:a").SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
Oder als Wert
With Range("a:a").SpecialCells(xlCellTypeBlanks)
.FormulaR1C1 = "=R[-1]C"
.Value = .Value
End With
GrußformelHomepage
In diesem Forum bekomme nur selten eine Mailbenachrichtigung, weitere Antworten sind zufällig.
Anzeige
AW: vorher zaeheln ob Leerzellen
25.11.2021 11:28:10
hary
Moin
Du must bei "SpecialCells(xlCellTypeBlanks)" vorher zaehlen ob Leerzellen vorhanden sind.
z.B. so

With Selection
If Application.CountBlank(Range(.Address)) Then '--Leerzellen zaehlen
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C" '--wenn ja
End If
End With
gruss hary
AW: VBA Code Zeilen überspringen
25.11.2021 12:42:50
GerdL
Moin Carl,
teste mal.

Sub Unit()
Dim wbkQ As Workbook: Set wbkQ = Workbooks("KD3-6.xlsm")
Dim wshQ As Worksheet: Set wshQ = wbQ.Worksheets("KD_6")
Dim wbkZ As Workbook: Set wbkZ = Workbooks("KW47.xlsm")
Dim wshZ As Worksheet: Set wshZ = wbZ.Worksheets("6er")
Dim rngA As Range
wshQ.Range("KD6er[[Auftrag]:[Artikelcode]]").Copy
wshZ.Range("_6erProjekte[[Projekt]:[Artikelcode]]").PasteSpecial xlPasteValues
Application.CutCopyMode = False
wshQ.Range("KD6er[[Bestellmenge]:[Name]]").Copy
wshZ.Range("_6erProjekte[[Bestellmenge]:[Name]]").PasteSpecial xlPasteValues
Application.CutCopyMode = False
With wshZ.Range("_6erProjekte[[Projekt]:[Artikelcode]]")
.Replace What:=" ", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
If WorksheetFunction.Count(.Cells) > 0 Then
For Each rngA In .SpecialCells(xlCellTypeBlanks).Areas
rngA.FormulaR1C1 = "=R[-1]C"
rngA.Value = rngA.Value
Next
End If
End With
Set wshZ = Nothing: Set wbkZ = Nothing: Set wshQ = Nothing: Set wbkQ = Nothing
End Sub
Gruß Gerd
Anzeige
AW: VBA Korrektur
25.11.2021 13:29:00
GerdL
WorksheetFunction.CountBlank statt WorksheetFunction.Count
Gruß Gerd
AW: VBA Code Zeilen überspringen
25.11.2021 17:46:51
Carl
Hallo Zusammen,
danke für die schnelle Antworten. Für den schnellen Einsatz ist die Lösung von hary top und genau das was ich suche.
Den Ansatz von GerdL muss ich mir mal in Ruhe anschauen.

93 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige