Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1440to1444
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

Code funktioniert nicht im gesamten Arbeitsbereich

Code funktioniert nicht im gesamten Arbeitsbereich
17.08.2015 08:41:57
Timo
Hallo zusammen,
ich verwende folgenden Code, um an einer bestimmten Stelle im Tabellenbaltt eine neue Zeile einzufügen:
Sub Zeileneinfügen()
Dim s As String
s = InputBox("Bitte Wert eingeben")
Dim lng As Long
With ActiveSheet
For lng = .Range("C25").End(xlUp).Row To 1 Step -1
If .Cells(lng, 3).Value = s Then .Rows(lng).Insert Shift:=xlDown
Next lng
End With
End Sub

Dieser Code funktioniert in einer „Test-Datei“ problemlos und auch in den ersten Zeilen meines Tabellenblatts. Ebenso funktionierte der Code in der vergangenen Woche noch für den kompletten Arbeitsbereich.
Das einzige was ich verändert habe, ist die Verknüpfung der Werte in Spalte C (mit Wenn-Funktion aus Tabelle 2).
Ich denke aber, dass dies keine Ursache sein kann, da ich bspw. in Zeile 20 einen beliebigen Wert eingegeben habe und es dennoch zu einem Laufzeitfehle bzw. einer Typ-Unverträglichkeit kommt. Weiterhin wird das Anzeigen der Werte in Spalte C über eine Filter in Spalte A gesteuert.
Hat jemand eine Idee, was die Ursache sein könnte?
Viele Grüße,
Timo

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code funktioniert nicht im gesamten Arbeitsbereich
17.08.2015 08:49:35
Nepumuk
Hallo,
sollen nur die sichtbaren Zeilen durchsucht werden? Kann es sein, dass in einer oder mehr Zellen in Spalte C der Fehlerwert einer Formel steht?
Gruß
Nepumuk

AW: Code funktioniert nicht im gesamten Arbeitsbereich
17.08.2015 09:17:28
Timo
Hallo Nepumuk,
ja, genau.
Die leeren Zeilen enthalten die „Sonst-Bedingung“ der Wenn-Funktion, also die 0. Die Null habe ich dann in den Excel-Optionen ausgeblendet. Ich habe aber auch versucht diesen Bereich auszulassen und nur Zeilen angesprochen, welche den Rückgabewert der Wenn-Funktion auch enthalten…
Mein Filter in Spalte A ist ebenfalls mit einer Wenn-Funktion aufgebaut (z.B. =WENN(C30=0;0;1) ). Verwende diesen für ein Makro zum Ein- und Ausblenden von leeren Zellen.
Danke und Gruß
Timo

Anzeige
AW: Code funktioniert nicht im gesamten Arbeitsbereich
17.08.2015 09:24:24
Nepumuk
Hallo,
versuch es mal so:
Public Sub Zeileneinfügen()
    
    Dim strInput As String
    Dim lngRow As Long
    
    strInput = InputBox("Bitte Wert eingeben")
    
    If StrPtr(strInput) <> 0 Then
        
        For lngRow = Cells(Rows.Count, 3).End(xlUp).Row To 1 Step -1
            
            If Cells(lngRow, 3).Text = strInput Then _
                Call Rows(lngRow).Insert(Shift:=xlShiftDown)
            
        Next lngRow
    End If
End Sub

Gruß
Nepumuk

Anzeige
AW: Code funktioniert nicht im gesamten Arbeitsbereich
17.08.2015 10:21:12
Timo
Hallo Nepumuk,
herzlichen Dank. Das funktioniert super.:-)
Eventuell könntest Du mir bei folgendem Code auch nochmals helfen. Ziel ist es, in die leeren Zeilen nun einen Wert zu schreiben.
Dies hat zunächst auch nur in anderen Tabellenblättern funktioniert, aber ich habe ihn nach deinem Vorgehen angepasst und die leeren Zellen werden nun auch befüllt.
Dennoch wird nach Befüllen der Zellen ein Laufzeitfehler angezeigt.
Vielleicht hast du ja noch eine Idee, was man hier noch ändern müsste.
Wie gesagt, die Eingabe funktioniert grundsätzlich.
Sub Eingabe()
Dim strInput As String
Dim lngRow As Long
strInput = InputBox(" Bitte Wert eingeben")
If StrPtr(strInput)  0 Then
For lngRow = Cells(Rows.Count, 3).End(xlUp).Row To 1 Step -1
If Cells(lngRow, 3).Value = "" Then
Cells(lngRow, 3).Value = strInput
End If
Next lngRow
End If
End Sub

Anzeige
AW: Code funktioniert nicht im gesamten Arbeitsbereich
17.08.2015 10:24:34
Nepumuk
Hallo,
versuch es mal so:
If IsEmpty(Cells(lngRow, 3).Value) Then

Gruß
Nepumuk

AW: Code funktioniert nicht im gesamten Arbeitsbereich
17.08.2015 10:32:54
Timo
Hallo Nepumuk,
klasse, daran lag es.
Vielen Dank!!
Gruß Timo

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige