AW: Einfügen und ersetzen
11.09.2007 11:57:30
Salim
Hallo Renee,
sorry, wollte dass irgenwie vereinfachen und dadurch ist es wahrscheinlich total unverständlich geworden. Ich habe mittlerweile selbst ein bisschen dran gebastelt.
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Rows("7:7").EntireRow.Hidden = False
For i = 10000 To 1 Step -1
If Cells(i, 4) = "Gesamt" Then
Rows("7:7").Copy
Cells(i, 1).EntireRow.Insert
End If
Next i
Application.CutCopyMode = False
Rows("7:7").EntireRow.Hidden = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingColumns:=True, AllowFiltering:=True
Application.ScreenUpdating = True
End Sub
Dieser Code suche den Bereich D1:D10000 durch nach dem Wort "Gesamt" und fügt eine kopierte Zeile ein.
Der nächste Step: für alle relevanten Worksheets. Habe ich ausprobiert, allerdings kommt eine Fehlermeldung: Insert Methode des Range Objekts konnte nicht ausgeführt werden.
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Rows("7:7").EntireRow.Hidden = False
Dim lSh As Worksheet, liSumme As Integer
With ThisWorkbook
For Each lSh In .Sheets
If .Sheets(lSh.Name).Range("A1").Value = "Projektblatt" Then
For i = 10000 To 1 Step -1
If Cells(i, 4) = "Gesamt" Then
Rows("7:7").Copy
Cells(i, 1).EntireRow.Insert
End If
Next i
Application.CutCopyMode = False
Rows("7:7").EntireRow.Hidden = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingColumns:=True, AllowFiltering:=True
End If
Next
End With
Application.ScreenUpdating = True
End Sub
Damit wollte ich erreichen, dass für jeden relevanten Worksheet eine Zeile eingefügt wird.
In der kopierten Zeile 7 stehen Formeln drin, die sich auf den Arbeitsblatt "Standardblatt" beziehen. Ich möchte dann für jeden relevanten Worksheet, eine Zeile einfügen und Standardblatt durch den Namen des Worksheets ersetzten, damit die Formeln auf das richtige Blatt zugreifen.
Im nächsten Schritte möchte ich die Suche nach verschiedenen zahlreichen Begriffen einfügen (Also nicht nur "Gesamt" sondern auch andere).
Am Schluss soll folgendes passieren:
1: Für jeden relevanten Sheet
2: Für jeden der angegebenen Begriffe, die in D1:D10000 gesucht werden
3: Zeile einfügen und Standardblatt durch Sheet.Name ersetzten
4: Nächster Begriff
5: Nächter Arbeitsblatt bis alle Arbeitsblätter durch sind
Ich hoffe, dass ganze ist ein bisschen klarer. Auf jeden Fall wäre ich dankbar über einen Tipp, warum die Fehlermeldung kommt ;)
Danke und Gruss
Salim