Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
132to136
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
132to136
132to136
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro-Problem

Makro-Problem
06.07.2002 13:09:59
Franz
Hallo Forumteilnehmer,
Warum erkennt dieses Makro die leeren Zellen nicht.
Es wird im ganzen Bereich der Zellschutz aktiviert.
Danke
Gruß Franz

Sub Zellverb()
Application.ScreenUpdating = False
On Error Resume Next
Dim Zellv As Range
Dim i As Integer

For i = 1 To ActiveWorkbook.Sheets.Count
Sheets(i).Activate
Set Zellv = Range("A1:L20")

If Zellv.Value <> "" Then
Zellv.Locked = True
End If
Next i
Application.ScreenUpdating = True
End Sub

     Code eingefügt mit Syntaxhighlighter 1.14




13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Makro-Problem
06.07.2002 13:37:20
Hans W Hofmann
Was soll denn der Code Deiner Meinung nach bewirken?
Standardmäßig ist die Locked-Eigenschaft auf True.
Übrigens, wenn Du einzelne Zellen bearbeiten willst, solltest Du auch den Zugriff auf einzelen Zellen programmieren.

Gruß HW

Kann nicht gehen...
06.07.2002 13:40:27
Ramses
Hallo Franz,
wenn du die "On Error Resume Next" ausklammerst, dann siehtst du dass du einen Fehler erhältst: "Fehler 13; Typen unverträglich".

Du prüfst einen Bereich auf einen einzlnen Wert das kann nicht gehen.

Gruss Rainer

Geht immer noch nicht....
06.07.2002 18:27:37
Franz
Hallo Rainer,
Die Fehlermeldung ist zwar weg,aber das Makro unterscheidet noch immer nicht zwischen leeren Zellen u.Zellen in denen Zahlen oder Text steht.

Konkret gesagt,ich möchte einen Bereich wo der Zellschutz deaktiviert ist prüfen,ob in den Zellen eine Zahl oder Text steht,wenn ja,soll in diesen Zellen der Zellschutz aktiviert
werden, in den anderen nicht.
Danke
Gruß Franz

Anzeige
Re: Makro-Problem
06.07.2002 18:42:06
Franz
Hallo HW,
Wie in der Antwort auf Rainer schon beschrieben,sollte der Code
folgendes bewirken:

Ich möchte einen Bereich wo der Zellschutz deaktiviert ist prüfen,ob in den Zellen eine Zahl oder Text steht,wenn ja,soll in diesen Zellen der Zellschutz aktiviert
werden, in den leeren Zellen nicht.

Danke
Gruß Franz

Re: Geht immer noch nicht....
06.07.2002 19:23:55
PeterW
Hallo Franz,

es mag in Version 9 anders sein aber bei Version 8 muss nachdem die Eigenschaft der Zellen geändert wurde (auf geschützt) natürlich noch der Blattschutz aktiviert werden.

Gruß
Peter

Das ist schon klar...
06.07.2002 19:50:47
Franz
Hallo Peter,
Das ist schon klar,daß man den Blattschutz aktivieren muß,
aber das löst das Problem nicht.
Den Blattschutz habe ich hier nicht eingebaut.
Gruß Franz
Anzeige
Re: Das ist schon klar...
06.07.2002 19:56:06
PeterW
Hallo Franz,

habe bei mir

Zellv.Locked = True

ersetzt durch

Cells(c.row, c.column).Locked = True

Damit passiert das, was nach Deiner Beschreibung passieren soll (nachdem der Blattschutz gesetzt ist)

Gruß
Peter

Re: Das ist schon klar...
06.07.2002 20:05:13
PeterW
Sorry Franz,

geht natürlich auch ohne den Cells"-Kram", also

c.Locked = True

Gruß
Peter

Kleiner Lapsus meinerseits...
06.07.2002 21:13:47
Ramses
Hallo Franz

Peter hat es richtig gesagt. Es muss heissen

c.Locked = true


ich habe einfach deine Variable übernommen. Tut mir leid.

Gruss Rainer

Re: Kleiner Lapsus meinerseits...
06.07.2002 22:21:50
PeterW
Hallo Rainer,

sorry für die Einmischung.

Gruß
Peter

So funktioniert es jetzt, aber
06.07.2002 23:29:02
Franz
verbundene Zellen wurden vom Makro nicht erkannt.
Hier habe ich jetzt auch eine Lösung gefunden.
Ich mußte auch empty noch mit <>"" ersetzen
Herzlichen Dank für deine Hilfe
Gruß Franz

Sub Zellverb()
Application.ScreenUpdating = False
On Error Resume Next
Dim Zelle1 As Excel.Range
Dim Zelle2 As Excel.Range
Dim Zelle3 As Excel.Range
Dim Zelle4 As Excel.Range

Dim c As Excel.Range
Dim i As Integer
For i = 1 To ActiveWorkbook.Sheets.Count
    Sheets(i).Activate
    
    Set Zelle1 = Range("G7:H7")
    Set Zelle2 = Range("G8:H8")
    Set Zelle3 = Range("J7:K7")
    Set Zelle4 = Range("J8:K8")
    
    Set Bereich = Union(Zelle1, Zelle2, Zelle3, Zelle4)
    For Each c In Bereich
        If c <> "" Then
        c.UnMerge
        c.Locked = True
        Zelle1.Merge
        Zelle2.Merge
        Zelle3.Merge
        Zelle4.Merge
        End If
    Next
Next i
Application.ScreenUpdating = True
End Sub

Code eingefügt mit Syntaxhighlighter 1.14


Anzeige
Re: Kleiner Lapsus meinerseits...
06.07.2002 23:42:08
Franz
Kein Problem,
ich mußte das Problem mit verbundenen Zellen
noch lösen,und empty mit <>"" ersetzen.
Gruß Franz

Sub Zellschutz()
Application.ScreenUpdating = False
On Error Resume Next
Dim Zelle1 As Excel.Range
Dim Zelle2 As Excel.Range
Dim Zelle3 As Excel.Range
Dim Zelle4 As Excel.Range

Dim c As Excel.Range
Dim i As Integer
For i = 1 To ActiveWorkbook.Sheets.Count
    Sheets(i).Activate
    
    Set Zelle1 = Range("G7:H7")
    Set Zelle2 = Range("G8:H8")
    Set Zelle3 = Range("J7:K7")
    Set Zelle4 = Range("J8:K8")
    
    Set Bereich = Union(Zelle1, Zelle2, Zelle3, Zelle4)
    For Each c In Bereich
        If c <> "" Then
        c.UnMerge
        c.Locked = True
        Zelle1.Merge
        Zelle2.Merge
        Zelle3.Merge
        Zelle4.Merge
        End If
    Next
Next i
Application.ScreenUpdating = True
End Sub

Code eingefügt mit Syntaxhighlighter 1.14



Anzeige
Re: So funktioniert es jetzt, aber
06.07.2002 23:54:56
PeterW
Hallo Franz,

danke für die Rückmeldung - aber von verbundenen Zellen war nie die Rede gewesen. (Kennst Du zufällig ein Tool, welches eine runde gläserne Blumenvase in eine magische Glaskugel verwandeln kann? ;-)

Gruß Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige