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

Datensatz nur in festgelegten Bereich einfügen

Datensatz nur in festgelegten Bereich einfügen
17.03.2015 11:45:46
Matthias
Hallo,
mein nachfolgender Code funktioniert soweit super.
Ich kann dadurch einen Datensatz einfügen.
Jedoch möchte ich den Datensatz nur in einem bestimmten Bereich einfügen.
z.b zwischen Zeile 16-999.
Ich bekomme es aber nicht hin :(
Sub ZeileEinfügen()
Dim ws As Worksheet, wsV As Worksheet, z%
Set ws = ActiveSheet
Set wsV = ThisWorkbook.Worksheets("Datensatz")
Application.EnableEvents = False
With Worksheets("Aufstellung Brandschutzklappen")
.Unprotect Password:="sperl"
Selection.EntireRow.Insert Shift:=xlDown
z = ActiveCell.Row
wsV.Rows("5:5").Copy ws.Range("A" & z)
Worksheets("Aufstellung Brandschutzklappen").Protect Password:="sperl"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
End With
Application.EnableEvents = True
End Sub

Bei meinem Code für das Löschen der Zeile in bestimmten Bereich funkioniert das auch.

Sub ZeileLöschen()
Dim rngBereich As Range
Set rngBereich = Range("A16:EU999") 'Hier den Bereich angeben !
If Intersect(ActiveCell, rngBereich) Is Nothing Then
MsgBox "Makro wird nicht ausgeführt : Bitte zuerst eine Zelle im Bereich " & _
rngBereich.Address(0, 0) & " anklicken !", vbCritical + vbOKOnly, _
"Fehlerhafte Zelle"
Else
Worksheets("Aufstellung Brandschutzklappen").Unprotect Password:="sperl"
Selection.EntireRow.Delete
Worksheets("Aufstellung Brandschutzklappen").Protect Password:="sperl"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
End If
End Sub

Bei dem Code zum einfügen von Zeilen ist wichtig, das der Code
Application.EnableEvents = False
erhalten bleibt.
Ebenso möchte ich beim Einfügen in einem falschen Bereich auch die Meldung habe wie beim Löschen im falschen Bereich
Hoffe mir kann wer weiterhelfen.

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

Betreff
Datum
Anwender
Anzeige
AW: Datensatz nur in festgelegten Bereich einfügen
17.03.2015 11:58:21
Rudi
Hallo,
eine Möglichkeit:
Sub ZeileEinfügen()
Dim ws As Worksheet, wsV As Worksheet, z%
Set ws = ActiveSheet
Set wsV = ThisWorkbook.Worksheets("Datensatz")
Application.EnableEvents = False
With Worksheets("Aufstellung Brandschutzklappen")
.Unprotect Password:="sperl"
Selection.EntireRow.Insert Shift:=xlDown
z = ActiveCell.Row
Select Case z
Case 16 To 999
wsV.Rows("5:5").Copy ws.Range("A" & z)
Worksheets("Aufstellung Brandschutzklappen").Protect Password:="sperl"
ActiveSheet.Protect _
DrawingObjects:=True, Contents:=True, _
Scenarios:=True, AllowFiltering:=True
Case Else
'mach was anderes
End Select
End With
Application.EnableEvents = True
End Sub
Gruß
Rudi

Anzeige
AW: Datensatz nur in festgelegten Bereich einfügen
17.03.2015 12:25:16
Matthias
Hallo
besten Dank.
Wie binde ich nun noch die Meldung mit ein, dass in anderen Bereich diese Funktion nicht funktioniert?
MsgBox "Makro wird nicht ausgeführt : Bitte zuerst eine Zelle im Bereich " & _
rngBereich.Address(0, 0) & " anklicken !", vbCritical + vbOKOnly, _
"Fehlerhafte Zelle"

AW: Datensatz nur in festgelegten Bereich einfügen
17.03.2015 13:04:33
Werner
Hallo Matthias,
nach Case Else, da wo Rudi geschrieben hat 'mach was anderes, kannst du deine Messagebox einbauen. Den Gültigkeitsbereich kannst du ja ganz normal als Text eingeben z.B. ....bitte eine Zelle im Bereich A16 bis ZZ999 anklicken.
Gruß Werner

Anzeige
AW: Datensatz nur in festgelegten Bereich einfügen
17.03.2015 13:36:10
Matthias
Hallo
irgendwie mache ich was falsch.
Mit dem nachfolgenden Code kann ich immer noch in anderen Bereiche eine Leere Zeile einfügen
Sub ZeileEinfügen()
Dim ws As Worksheet, wsV As Worksheet, z%
Set ws = ActiveSheet
Set wsV = ThisWorkbook.Worksheets("Datensatz")
Application.EnableEvents = False
With Worksheets("Aufstellung Brandschutzklappen")
.Unprotect Password:="sperl"
Selection.EntireRow.Insert Shift:=xlDown
z = ActiveCell.Row
Select Case z
Case 16 To 999
wsV.Rows("5:5").Copy ws.Range("A" & z)
Worksheets("Aufstellung Brandschutzklappen").Protect Password:="sperl"
ActiveSheet.Protect _
DrawingObjects:=True, Contents:=True, _
Scenarios:=True, AllowFiltering:=True
Case Else
MsgBox "Zeile einfügen erst ab Zeile 16 möglich!" & _
rngBereich.Address(0, 0) & " anklicken !", vbCritical + vbOKOnly, _
"Fehlerhafte Zelle"
End Select
End With
Application.EnableEvents = True
End Sub

Anzeige
AW: Datensatz nur in festgelegten Bereich einfügen
17.03.2015 18:06:56
Werner
Hallo Matthias,
Versuch mal folgendes:
Setzte die Code Zeile
Selection.EntireRow.Insert Shift:=xlDown
unter die Code Zeile
Case 16 To 999
ungetestet.
Gruß Werner

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige