5k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo Excel-Experten,

EXCEL 97: Der Inhalt einer aktiven Zelle (Text-über DropDown-Liste auswählbar), die z. b. über Maus oder Cursor nur in den Zellen G5, K5-Q5 jeweils angeklickt werden kann, soll der Inhalt in G12 kopiert werden, um von dort aus ein sverweis zu starten. Es geht mir also darum, dass nur eine Zelle in diesem Bereich aktiv sein darf.
Weiterhin wäre es möglich, dass bei Aktivierung dieser Zelle die Zellenfarbe auf gelb gesetzt, beim Verlassen wieder auf grau zurückgesetzt wird?
Gibt es eine Möglichkeit ohne VBA?
Habe mich hier schon im ersten Teil versucht - ohne Erfolg:

Vielen Dank für Eure Hilfe...

Private Sub workbook_open()

Dim Adr

If ActiveCell.Address = Range("$G5,$K5:$Q5") Then

Adr = ActiveCell.Address()


If Adr = "$G$5" Then GoTo Einfüg
If Adr = "$K$5" Then GoTo Einfüg
If Adr = "$L$5" Then GoTo Einfüg
If Adr = "$M$5" Then GoTo Einfüg
If Adr = "$N$5" Then GoTo Einfüg
If Adr = "$O$5" Then GoTo Einfüg
If Adr = "$P$5" Then GoTo Einfüg
If Adr = "$Q$5" Then GoTo Einfüg

Einfüg:
Selection.Copy
Range("G12").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Copy
Application.CutCopyMode = False

End If

End Sub

12 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo maart,

Deine Versuche sind VBA, aber es soll ohne gehen.
Warum nicht einfach =A3 ?
Farbe geht meiner Meinung nach nur per VBA.

Gruß Hajo
0 Punkte
Beantwortet von
Hallo Hajo,

Danke für deine schnelle Antwort.

VBA möchte ich deswegen nicht wählen wollen, weil die ständige Abfrage, ob nun einer der Zellen aktiv ist oder nicht zu viel Zeit beanspruchen würde und evtl. auch Excel zu stark mit sich selbst beschäftigt wäre (Macro), oder?

Mein Problem ist - es gibt keinen Befehl/Formel, um die aktuelle Adresse direkt unter Excel 97 herauszufinden und den Inhald dieser zelle weiter zu verarbeiten:
z. B.
Aktive Zelle wäre O5 -> Inhalt dieser Zelle (Text) nach G12 kopieren um dann mit G12 mit sverweis weiter zu arbeiten. Es sollen aber nur die Zellen G5, K5-Q5 für die aktuelle Adressenauswahl herangezogen werden.

Grüße

maart
0 Punkte
Beantwortet von
Hallo Hajo,

also, Du hattest recht - es geht auch ohne VBA...

Lösung: =WENN(UND(ZELLE("Zeile")=16;(ZELLE("Spalte")=10));J16;WENN(UND(ZELLE("Zeile")=16;(ZELLE("Spalte")=15));O16;WENN(UND(ZELLE("Zeile")=16;(ZELLE("Spalte")=16));P16;WENN(UND(ZELLE("Zeile")=16.............))))))

Gruß
Maart
0 Punkte
Beantwortet von
Hallo Excel-Experten,

nochmals eine frage zu Excel 97:
Die Zellen eines Arbeitsblatts sind bis auf wenige Zellen schreibgeschützt, die Hintergrundfarbe ist grau, einige Zellen besitzen eine andere Hintergrundfarbe (Füllfarbe).
Folgendes Problem:
Ein Print-Makro soll über ein Button gestartet werden, der den Blatt- und Arbeitsmappenschutz aufhebt, die Hintergrundfarbe dieses Blattes auf weiß setzt, den Ausdruck startet, und die Farben wieder zurücksetzt und den Schutz wieder aktiviert.

Ohne Schutz funktioniert die Druckausgabe, mit Schutz bekomme ich Laufzeitfehler, und mit "On Error Resume Next" bleibt die Hintergrundfarbe grau...

Vielleicht könnt ihr mir ja helfen.

Danke

Maart

Hier mein Makro:

Private Sub CommandButton1_Click()
'Print Seite Blatt01

'On Error Resume Next


Sheets(blatt01).Unprotect Password = "MC"

Range("A1:V35").Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$V$35"

' Hintergrundfarbe auf weiß setzen
Range("A1:V35").Select
Selection.Interior.ColorIndex = 2 ' weiß

' Print
' Druckbereich ON
Worksheets("Blatt01").Activate
Range("A1:V35").Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$V$35"
ActiveSheet.PrintOut , 1, 1

' Hintergrundfarbe auf grau und einige Zellen
' mit "alter" Hintergrundfarbe wieder einsätzen
Range("A1:V35").Select
Selection.Interior.ColorIndex = 15 ' grau
Range("C3:D3").Select
Selection.Interior.ColorIndex = 35 ' hellgrün
Range("G10").Select
Selection.Interior.ColorIndex = 34 ' Cyan
Range("C4,E4,G4,H4,L18:L27").Select
Selection.Interior.ColorIndex = 36 ' gelb

' Druckbereich OFF
Range("A1:V35").Select
ActiveSheet.PageSetup.PrintArea = ""

Range("Q27").Select

Sheets(blatt01).Protect Password = "MC"

End Sub
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Maart,

sieh Dir mal die Lösung an [http://c.excelhost.de/c_beverly/getfile.php?id=114]Drucken ohne farbe Link zur Datei[/url]

Gruß Hajo
0 Punkte
Beantwortet von
Hallo Hajo,

Danke für den Tip - funktioniert einwandfrei auch mit Blatt- und Arbeitsmappenschutz (Password)!

Wie kann ich das Makro so abändern, dass nur ein bestimmter Bereich in dem Arbeitsblatt ausgedruckt wird, z. B. A1 - V35 ? Der Schleifenzähler müsste demnach festgelegt werden - aber wie?

Der Grund: Ich möchte mit einem weiteren Button einen zweiten Zellbereich (z. B. AB2 - AH24) ausdrucken (auch in Verbindung mit dieser genialen Drucklösung).

Danke für deine Hilfe,

Maart
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo maart,

das ist nicht mein Makro, aber ich vermute, wenn Du nur einen bestimmten Bereich Drucken schreibe nachdem die Farbe zurückgestellt wurde
Range("D1:I14").PrintOut


Gruß Hajo
0 Punkte
Beantwortet von
Hallo Hajo ,

Danke für diesen Tipp - der Ausdruck ist nun perfekt!

Schöne Ostergrüße an Euch...

Maart
0 Punkte
Beantwortet von
Hallo Hajo ,

Makro,Excel97

Bis auf einige Zellen im Blatt 2 sind die Zellen gesperrt und ausgeblendet.
Der Blattschutz und der Schutz der Arbeitsmappe sind jeweils mit einem unterschiedlichen Passwort aktiv. Der Blattausdruck wird über einen Button angestoßen.
Problem:
Ohne Aktivierung des Blattschutzes und der Arbeitsmappe ist der Ausdruck einwandfrei.
Wird der Schutz aktiviert - ist ein Ausdruck nicht mehr möglich.

Private Sub CommandButton2_Click()

' Password "A123" für den Blattschutz vergeben
Workheets("Blatt2").Unprotect Password:="A123", UserInterfaceOnly:=True

Hier die Drucklösung: [http://c.excelhost.de/c_beverly/getfile.php?id=114]Drucken ohne farbe Link zur Datei[/url]

Worksheets("Blatt2").Protect Password:="A123"

End Sub

Es erscheint ein Laufzeitfehler '1004', Anwendungs- oder objektdefinierter Fehler:
Workheets("Blatt2").Unprotect Password:="A123", UserInterfaceOnly:=True

Wo ist der Fehler?
Danke für deine Hilfe,

Maart
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Maart,

Du hebst den Blattschutz schon auf, wenn Du die Farbe änderst?
ab Version Xp braucht man das nicht mehr, da kann man es bei Blattschutz einstellen.

Gruß Hajo
...