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

Zeilen löschen

Zeilen löschen
24.11.2016 15:16:27
Berndt
Hallo zusammen,
ich habe eine Frage bzgl. meines Makros.
Code:
Private Sub CommandButton2_Click()
' neue Zeile einfügen für Aufgabe oder Problem
Dim EZ As Double
Dim Ab As Double
Dim WoEinf As String
Application.ScreenUpdating = False
'ActiveSheet.Unprotect
WoEinf = InputBox("(A)ufgabe" & vbLf & "(P)roblem", "Wo möchten Sie eine neue Zeile hinzufü _
gen?", "A")
Select Case UCase(WoEinf)
Case "A"
EZ = UF_neueZeile(8, True)
Range("D" & EZ & ":H" & EZ).FormulaR1C1 = "=SUM(R8C:R[-1]C)"
Cells(EZ - 1, 2).Select
Case "P"
'Text:  Problemspeicher nach unten suchen
EZ = Cells(8, 2).End(xlDown).End(xlDown).Row
If Trim(Cells(EZ, 2)) = "Problemspeicher" Then
EZ = UF_neueZeile(EZ + 1, True)
Else: MsgBox "Kann Text: -Problemspeicher- nicht finden"
End If
Case Else
Exit Sub
End Select
'ActiveSheet.Protect , UserInterfaceOnly:=True
Application.ScreenUpdating = True
End Sub

Function UF_neueZeile(Ab, Ja As Boolean)
Dim EZ, BZ As Double
EZ = Evaluate("=MIN(IF(B" & Ab & ":B65536="""",ROW(" & Ab & ":65536)))")
If Ja Then
Rows(EZ).Insert Shift:=xlDown
Rows(EZ - 1).Copy
Rows(EZ).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
EZ = EZ + 1
End If
UF_neueZeile = EZ
End Function
Dieser Code fragt den Anwender zunächst wo eine Neue Zeile eingefügt werden soll im Sheet (Aufgabe, Problem) (Themenspeicehr möchte ich jetzt mal außen vor lassen)
Problem ist, das als Formatvorlage immer die obere Zeile genommen wird.
Wenn nämlich noch keine Aufgabenzeile oder Problemzeile vorhanden ist, dann wird sie Spaltenkopfformatierung übernommen.
Ich bräuchte so eine Art Prüfzeile. die Prüft, ob schon eine zumindest Formatierte Zeile eingefügt wurde (kann ja noch leer sein von mir aus)
Ist dies umsetzbar?
VG Berndt

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen
26.11.2016 21:53:12
fcs
Hallo Berndt,
probiere es mal so (ungetestet da Beispieldatei fehlt)
Function UF_neueZeile(Ab, Ja As Boolean)
Dim EZ, BZ As Double
EZ = Evaluate("=MIN(IF(B" & Ab & ":B65536="""",ROW(" & Ab & ":65536)))")
If Ja Then
If EZ > Ab Then
Rows(EZ).Insert Shift:=xlDown
Rows(EZ - 1).Copy
Rows(EZ).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
EZ = EZ + 1
End If
End If
UF_neueZeile = EZ
End Function
LG
Franz
AW: Zeilen löschen
28.11.2016 08:11:08
Berndt
Vielen Dank. Ich weis gar nicht warum ich die Beispieldatei vergessen habe.

Die Datei https://www.herber.de/bbs/user/109752.xlsm wurde aus Datenschutzgründen gelöscht


So richtig funktioniert der Code noch nicht. Er fügt zwar nach wie vor neue Zeilen für Aufgaben und Problemspeicher ein, jedoch wenn z.B. noch keine Probleme vorliegen, fügt er die erste Zeile jeweils nicht ein.
Man kann das überprüfen, indem du die Zeilen z.B. beim Problemspeicher mal rauslöschst.
Möchtest du dann via Button "neue Aufgaben-/Problemzeile einfügen" für (P)roblemspeicher eine neue Zeile einfügen (bzw. die erste) passiert nix.
Anzeige
AW: Zeilen löschen
28.11.2016 21:13:26
fcs
Hallo Berndt,
du muss in jedem Bereich mindestens eine vorformatierte Zeile haben, damit es funktioniert.
Beim Bereinigen dürfen niemals alle Zeilen eines Teilbereichs gelöscht werden, es muss auch hier eine vorformatierte Zeile vorhanden bleiben.
Nur so bekommst du sauber formatierte Folgezeilen und auch die Summenformeln fur Aufgaben bleiben sauber erhalten bzw. werden korrekt eingefügt.
Ich hab die Makros in diese Richtung angepasst.
Die 3 Bereiche sind im Moment leer. Du musst jetzt mal alles Testen.
https://www.herber.de/bbs/user/109770.xlsm
Gruß
Franz
Anzeige
Dankeschön
29.11.2016 09:46:01
Berndt
Vielen Vielen Dank.
Es funktioniert echt wie gewünscht. Klasse Arbeit. Mein Team wird sich freuen.
Ich geh davon aus, damit ich die zweite Function (xxxUF_neueZeile) löschen kann.
VG Berndt
AW: Dankeschön
29.11.2016 19:55:58
fcs
Hallo Berndt,
Ich geh davon aus, damit ich die zweite Function (xxxUF_neueZeile) löschen kann.
Ja, ich hatte dein Original nur unter enuem Namen kopiert, falls ich es nochmals brauche und dann vergessen zu löschen.
Gruß
Franz

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige