Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhalt löschen, dann Zellen nach oben kopieren
18.10.2018 08:12:21
Simy
Moin zusammen,
ich hoffe, jemand kann mir weiterhelfen.
Ich habe im Bereich A1:A10, C1:C10 und E1:C10 Daten stehen.
Jetzt würde ich gerne über einen Command-Button eine Abfrage öffnen lassen, die abfragt: "Welche Zeile möchten Sie löschen?".
Wenn ich dann 5 bspw. auswähle, dann soll er den Inhalt von A5, C5 und E5 löschen und die darunter liegenden Zellen (A6:A10, etc.) einen nach oben verschieben.
Ganz wichtig ist, dass die Zeile nicht gelöscht werden darf, es soll lediglich der Inhalt gelöscht werden und die darunter liegenden Zellen einen nach oben verschieben.
Kann mir jemand weiterhelfen?
Dankeeeee und viele Grüße
Simy

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhalt löschen, dann Zellen nach oben kopieren
18.10.2018 08:24:05
UweD
Hallo
so?
Sub ZeileLöschen()
    Dim RNG As Range, Zeile As Variant
    
    Set RNG = Range("A1:A10,C1:C10,E1:E10")
    
    Zeile = InputBox("Welche Zeile soll gelöscht werden")
    If Not IsNumeric(Zeile) Then
        MsgBox "Falscheingabe"
        Exit Sub
    End If
    
    Intersect(Rows(Zeile), RNG).Delete Shift:=xlUp
End Sub
LG UweD
Anzeige
AW: Inhalt löschen, dann Zellen nach oben kopieren
18.10.2018 08:56:04
Simy
Hallo Uwe,
danke für die schnelle Antwort.
Ich glaube ich habe es falsch formuliert. In den Zellen (A5, C5 und E5) sollen die Inhalte gelöscht werden, aber nicht die Zeile gelöscht werden. Anschließend sollen die darunter liegenden Zellen (A6:A10, etc.) kopiert und dann bei A5 eingefügt werden (also alle ausgeschnitten und einen nach oben kopiert werden).
Gibt es dafür eine Lösung?
Danke und LG
Simy
Nachfrage..
18.10.2018 08:59:46
UweD
Was soll mit Zeile 10 geschehen?
bleibt die genauso stehen
Also A9 und A10 wären dann gleich?
AW: Nachfrage..
18.10.2018 09:05:25
Simy
Die Inhalte der Zellen A10, C10 und E10 müsste gelöscht werden.
Also A6:A10, C6:C10 und E6:E10 ausschneiden und entsprechend bei A5, C5 und E5, etc. einfügen.
Das wäre super :-)
Anzeige
AW: Nachfrage..
18.10.2018 09:36:17
UweD
so?
Modul1
Option Explicit 
 
Sub ZeileLöschen() 
    Dim RNG As Range, TMP As Range, Mmax As Integer, Zeile As Variant 
     
    Set RNG = Range("A1:A10,C1:C10,E1:E10") 
     
    Mmax = RNG.Rows.Count 
     
    Zeile = InputBox("Welche Zeile soll gelöscht werden") 
    If Not IsNumeric(Zeile) Or Zeile <= 0 Or Zeile >= Mmax Then 
        MsgBox "Falscheingabe" 
        Exit Sub 
    End If 
     
    Set TMP = Intersect(Rows(Zeile).Offset(1).Resize(Mmax), RNG) 
     
    'Werte unterhalb Zeile nach oben kopieren 
    TMP.Offset(-1).Value = TMP.Value 
     
    'unterste Zeile leeren 
    Intersect(Rows(Mmax), RNG).ClearContents 
     
     
End Sub 

LG UweD
Anzeige
AW: Inhalt löschen, dann Zellen nach oben kopieren
18.10.2018 09:32:37
Daniel
hi
probier mal
Sub löschen()
Dim z, s
Dim Spalten
Const Zvon As Long = 1
Const Zbis As Long = 10
Spalten = Array(1, 3, 5)
z = Application.InputBox("Bitte ZeilennNr von " & Zvon & "-" & Zbis & " eingeben", Type:=1)
If z  Zbis Then Exit Sub
If z 
Gruß Daniel
AW: Inhalt löschen, dann Zellen nach oben kopieren
18.10.2018 10:03:07
Simy
Hallo Daniel,
funktioniert perfekt!! Vielen, vielen Dank :-)))
Eine Kleinigkeit noch. Wo und was müsste ich eingeben, dass er die eingegebene Zeile +2 nimmt. Also wenn ich Zeile 15 eintrage in der Abfrage, dass er dann aber Zeile 17 nimmt?
Vielen Dank.
AW: Inhalt löschen, dann Zellen nach oben kopieren
18.10.2018 10:28:10
Daniel
z = z + 2
aber das sollte man auch mit VBA-Basiskenntnissen noch selber hinbekommen.
Gruß Daniel
Anzeige
AW: Inhalt löschen, dann Zellen nach oben kopieren
18.10.2018 10:41:12
Simy
Hab mich verklickt, Anfänger wäre richtig gewesen :-)
Wo genau kommt der Befehl z = z +2 hin?
AW: Inhalt löschen, dann Zellen nach oben kopieren
18.10.2018 10:59:01
Daniel
Hi
naja, auch als Anfänger darf man selber mitdenken.
an welcher Stelle wäre diese Befehlszeile denn sinnvoll, wenn der Anwender 15 eingibt und im Code aber mit 17 weitergearbeitet werden soll?
Gruß Daniel
AW: Inhalt löschen, dann Zellen nach oben kopieren
18.10.2018 11:02:42
Simy
Irgendwo hier :-)
z = Application.InputBox("Bitte Tatnummer eingeben!", Type:=1)
AW: Inhalt löschen, dann Zellen nach oben kopieren
18.10.2018 11:03:42
Daniel
naja, da bist du ja schon auf der richtigen Spur.
was wäre denn sinnvoller, davor oder danach?
AW: Inhalt löschen, dann Zellen nach oben kopieren
18.10.2018 11:08:58
Simy
Aber so was von danach!!!
AW: Inhalt löschen, dann Zellen nach oben kopieren
18.10.2018 11:16:37
Daniel
na dann, viel spass beim Programmieren
AW: Inhalt löschen, dann Zellen nach oben kopieren
18.10.2018 14:40:07
Simy
Funktioniert super.
Vielen Dank für die Nachhilfestunde
Anzeige

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige