online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon hanswerner vom 09.09.2022, 20:23 Options

Zelladressierung in Subroutine

Hallo Forum,
ich verwende in mehreren VBA Prozeduren denselben, im Folgenden verkürzt dargestellten Code:
If Target.Offset(0) = "" Then   
     ActiveSheet.Unprotect Password:=[VLOOKUP(39, Variable!$B$1:$D$39, 2)]
     Target.Offset(0, 18).Interior.ColorIndex = 35
     Target.Offset(0, 18).Locked = True
     ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, _
     AllowSorting:=True, Password:=[VLOOKUP(39, Variable!$B$1:$D$39, 2)]
End If
Zur Vereinfachung möchte ich den Code in ein Modul als Subroutine >ÄndernZelleigenschaft< speichern und in den Prozeduren mit
Call ÄndernZelleigenschaft 
aufrufen. Die Zelladressierung über
Target.Offset(0, 18)…usw.…
funktioniert hierbei nicht!

Wie muß ich die Zellen in der Subroutine adressieren?
Vorab schon mal Danke für die Hilfe.


Antwort schreiben

Antwort 1 von coros vom 10.09.2022, 10:29 Options

Hallo hanswerne,

ändere in dem Makro das Wort "Target" gegen das Wort "ActiveCell". Dein Makro sähe dann wie folgt aus.

Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.

Sub ÄndernZelleigenschaft()
If ActiveCell.Offset(0) = "" Then
     ActiveSheet.Unprotect Password:=[VLOOKUP(39, Variable!$B$1:$D$39, 2)]
     ActiveCell.Offset(0, 18).Interior.ColorIndex = 35
     ActiveCell.Offset(0, 18).Locked = True
     ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, _
     AllowSorting:=True, Password:=[VLOOKUP(39, Variable!$B$1:$D$39, 2)]
End If
End Sub

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von hans-werner vom 10.09.2022, 10:50 Options

Hallo Oliver,
Deine Lösung funktioniert einwandfrei!
Nochmals Danke für die Hilfe.

Grusss
hans-werner

Ähnliche Themen

Formel in Excel (Wert soll gleichbleiben)
mel1980  23.06.2009 - 417 Hits - 3 Antworten

Excel Termine an Outlook
JCool666  08.10.2009 - 518 Hits - 5 Antworten

Zellen auslesen
Aggi11  07.10.2009 - 289 Hits - 8 Antworten

Eingabe in Zelle aufspalten
Ulle-gt5  07.10.2009 - 299 Hits - 9 Antworten

Zinsberechnung Excel bei unterschiedlichen Einzahlungen
rex  29.01.2010 - 197 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026