Zellen in Excel ziehen Ergänzung des vorhandenen Makors

  • #1
S

Schmerzspender2000

Bekanntes Mitglied
Themenersteller
Dabei seit
06.07.2011
Beiträge
162
Reaktionspunkte
0
Hallo,

ich bräuchte noch mal Hilfe bei der Änderung des Codes.

Der Thread ist leider zu alt.

Jetzt sollen noch die Spalten F,K,O immer grün bleiben. Momentan werden sie weiß beim Ziehen.

Es dankt
der Spender
 
  • #2
Hallo

Ohne Makro, mit Bedingter Formatierung:

Da im Forum weder Excel Jeanie HTML, noch Tab2Html (v2.4.1) angewendet werden kann,
versuche ich es einmal so zu erklären, wenn eine Nachfrage Nötig ist, kein Problem.

Wenn mit Makro, dann eine Private Mitteilung an Matjes senden, mit einem Verweis auf den alten Beitrag, er wird dir sicher weiterhelfen

Zeile 1
Angaben zu den Spalten z.B. Datum, Wochentag, Objekt 1, Objekt 2 u.s.w.

Zelle A2 bis A366
Das Datum
1.1.2011 bis 31.12.2011
Format
TT.MM.JJJJ

Zelle B2 bis B366
Der Wochentag
1.1.2011 bis 31.12.2011
Format
TTTT

Zelle C2 bis X366
Deine Daten

*****************************

Zur bedingten Formatierung gebe ich dir immer die 1. Zelle der Spalte an,
dieses Format auf die anderen Zellen der Spalte übertragen.

Zelle A2
Bedingung 1:
Formel ist
=WOCHENTAG($A2;1)=1
z.B. Farbe Hellrosa wählen

Bedingung 2:
Formel ist
=WOCHENTAG($A2;1)=1
z.B. Keine Farbe wählen

++++++++++++++++++++

Zelle B2
Bedingung 1:
Formel ist
=WOCHENTAG($A2;1)=1
z.B. Farbe Hellrosa wählen

Bedingung 2:
Formel ist
=WOCHENTAG($A2;1)=1
z.B. Keine Farbe wählen

++++++++++++++++++++

Jetzt zu den Eingabezellen für die Belegung:

Ist eine Zelle nicht Belegt, wird sie Grün eingefärbt, außer es ist eine Sonntagszelle, diese wird dann Hellrosa eingefärbt.
Ist eine Zelle Belegt, wird sie in jedem Fall Rot eingefärbt, auch wenn es eine Sonntagszelle ist.

Zelle C2
Bedingung 1:
Formel ist
=ISTLEER(C2)=FALSCH
z.B. Farbe Rot wählen

Bedingung 2:
Formel ist
=WOCHENTAG($A2;1)=1
z.B. Farbe Hellrosa wählen

Bedingung 3:
Formel ist
=ISTLEER(C2)=WAHR
z.B. Farbe Grün wählen

dieses Format auch auf die anderen Datenzellen anwenden,
Z.B.

Zelle D2
Bedingung 1:
Formel ist
=ISTLEER(D2)=FALSCH
z.B. Farbe Rot wählen

Bedingung 2:
Formel ist
=WOCHENTAG($A2;1)=1
z.B. Farbe Hellrosa wählen

Bedingung 3:
Formel ist
=ISTLEER(D2)=WAHR
z.B. Farbe Grün wählen
 
  • #3
Hallo Schmerzspender2000,

die Farbe für Sonnabend ist->nix' - mußt du ggf. anpassen - F,K,O immer hellgruen.

Gruß Matjes :)
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

 Const cFARBE_SONNTAG = 38        ->Sonntag   hellrosa
 Const cFARBE_SONNABEND = xlColorIndexNone->Sonnabend  keine Farbe (40 = gelbbraun)
 Const cFARBE_WOCHENTAG = xlColorIndexNone->Wochentag  keine Farbe
 Const cFARBE_OHNEDATUM = xlColorIndexNone->ohne Datum keine Farbe
 Const cFARBE_GRUEN = 43         -> hellgruen
 Const cSPDATUM = 1 ->Spalte mit Datum
 Const cVONSPLATE = 1->markieren von
 Const cBISSPLATE = 24->markieren bis
 Const cSP_F = 6
 Const cSP_K = 11
 Const cSP_O = 15
 
 Dim r As Range, z As Long
 
 For Each r In Target.EntireRow
  z = r.Row
  Set r = Range(Cells(z, 1), Cells(z, cBISSPLATE))
 ->Spalte A Datum ?
  If IsDate(Cells(z, cSPDATUM).Value) Then
   If Weekday(Cells(z, cSPDATUM).Value, vbSunday) = vbSunday Then->Sonntag
    If IsNull(r.Interior.ColorIndex) Or (r.Interior.ColorIndex <> cFARBE_SONNTAG) Then
     r.Interior.ColorIndex = cFARBE_SONNTAG
    End If
   ElseIf Weekday(Cells(z, cSPDATUM).Value, vbSunday) = vbSaturday Then->Sonnabend
    If IsNull(r.Interior.ColorIndex) Or (r.Interior.ColorIndex <> cFARBE_SONNABEND) Then
     r.Interior.ColorIndex = cFARBE_SONNABEND
    End If
   Else->Werktag
    If IsNull(r.Interior.ColorIndex) Or (r.Interior.ColorIndex <> cFARBE_WOCHENTAG) Then
     r.Interior.ColorIndex = cFARBE_WOCHENTAG
    End If
   End If
   Cells(z, cSP_F).Interior.ColorIndex = cFARBE_GRUEN
   Cells(z, cSP_K).Interior.ColorIndex = cFARBE_GRUEN
   Cells(z, cSP_O).Interior.ColorIndex = cFARBE_GRUEN
  Else
   If IsNull(r.Interior.ColorIndex) Or (r.Interior.ColorIndex <> cFARBE_OHNEDATUM) Then
    r.Interior.ColorIndex = cFARBE_OHNEDATUM
   End If
  End If
 Next
 Set r = Nothing
End Sub
 
  • #4
Vielen Dank Matjes,

scheint alles zu funktionieren.
Farbcodes hab ich angepasst, dass geht auch, wenn ich vom Coden keinen Plan hab ;)
Wegen der Farben habe ich ne Übersicht gefunden, is ganz brauchbar


Es dankt
der Spender

Ach ja, Anhange kann ich keine an einen Post machen?

Und noch was, wie kann ich nun dieses Makro als vertrauenswürdig einstufen, ohne die Sicherheitseinstellungen auf 0 zu setzten?
Gibbet da net so was wie en Matjes Zertifikat (datt is von die Matjes, dass is jud so!)
 
  • #5
  • #6
@ hddiesel,

jupp der Tipp war auch sehr sehr gut.
Habe jetzt en vertrauensvolles Zertifikat mit Namen Matjes.

Ach ja @ Matjes
Wenn ich den Bereich auf den sich das Makro bezieht erweitern will, dann ändere ich gerade den WErt von der Variable cBISSPALTE. Da es sich mittlerweile um knapp 50 handelt, habe ich den WErt auf 50 gesetzt. Scheint zu klappen, sonst muss ich nirgends was ändern oder?

Es dankt
der Spender
 
  • #7
Ach ja @ Matjes
Wenn ich den Bereich auf den sich das Makro bezieht erweitern will, dann ändere ich gerade den WErt von der Variable cBISSPALTE. Da es sich mittlerweile um knapp 50 handelt, habe ich den WErt auf 50 gesetzt. Scheint zu klappen, sonst muss ich nirgends was ändern oder?

Vollkommen richtig erkannt :1

Gruß Matjes :)
 
  • #8
Das Makro kämpft tapfer... zu meinem Leidwesen.

Also habe js alles durchgeführt wie gesagt.
Nun plötzlich sagt mir Excel da Makros wieder deaktiviert sind, weil meines nicht vertrauenswürdig sei! ???

Hat das damit was zu tun, dass die Exceldatei auf ner NAS liegt?
Ich glaube das Prob trat auf, als ich das Exceldokument schreibgerschützt öffnen musste, weil es schon auf nem anderen Rechner geöffnet war. Jetzt gehen hlat gar keine Makros mehr bei hoher Sicherheit!

Ach ja das Zertifikat habe ich auf jedem Rechner installiert, der das Excelsheet benutzt.

Es dankt
der Spender
 
  • #9
Hallo Spender,

erst die Makrosicherheit auf Mittel, wenn dein Zertifikat als Vertrauenswürdig Eingestuft ist, kannst du wieder auf Hoch stellen.
Makrosicherheit auf Mittel
Datei öffnen
Abfrage zur Makrosicherheit kommt
das Zertifikat als Vertrauenswürdig einstufen
anschließend die Datei schließen, die Abfrage sollte dann nicht mehr kommen,
anschließend wieder die Makrosicherheit auf auf Hoch stellen.
 
  • #10
Also
Wenn ich die Sicherheit auf mittel stelle, dann werde ich nur gefragt, ob ich Makros aktiviern will oder nicht!

Warum deaktivert Excel die Makros, nachdem es doch einwandfrei funktioniert hat?
Und nach deinem Link zu dem How-to, installiere ich ja das Zertifikat in den Ordner der vertrauenswürdigen Herausgeber, somit is doch mein Zertifikat abgesegnet, oder nicht?

Es dankt
der Spender
 
  • #11
Hallo Spender,

die Datei öffnen, und das Zertifikat erneut auswählen, dann speichern, die Datei schließen und wieder öffnen.

Vermutlich wurde durch irgend einem Grund das Zertifikat wieder Ganz oder Teilweise entfernt.
 
  • #12
Ja genau das hatte ich gemacht. Habe das Zertifikat auch noch mal entfernt dann wieder neu hinzugefügt und in die Quelle der Vertrauenswürdigen Herausgeber installiert.
So das ging dann gestern auch prima, von jedem Rechner aus (3 der Zahl, 1. OS:XP Office 2003, 2. OS XP Office 2002, 3. OS: Win7, Office 2003)

Und heute morgen ging das auch alles noch bis eben... dann heißt es wieder:
Makros in dieser ARbeitsmappe sind deaktiviert, da die Sicherheitseinstellunge auf hoch gesetzt wurde und die Makros weder digital signiert noch als sicher erklärt wurden. Um die Makros dennoch auszuführen, können sie diese entwedr digital signieren lassen oder die Sicherheit.... bla bla.... Ich hätt gerne nen Screenshot angehängt auch von meinem Zertifikat, muss ich da externe Bilderspeicher verwenden? Das Forum bietet das nicht an oder?

Ja ich verstehs halt eben net.
Warum ist mein Zertifikat nur sporadisch vertrauenswürdig ???

Es dankt
der Spender

Edit: Hier Screenshots!


 
  • #14
EPIC-FAIL... :D

Es kann nicht funktionieren mml

Schade.. wirklich ...schade

Na toll... also Sicherheit auf niedrig... :| was soll schon passieren ;D ich hab schon vom Internet und Gefahren gehört, aber NIE gesehen.

Das wirklich seltsame ist aber, dass es für ein Tag mit Zugriff und abspeichern und erneutem Zugriff vom anderen Rechner funzte... naja

Es dankt
der Spender
 
  • #15
Hallo Spender,

da ich selten den PC neu installiere und auf keinen Server mit Excel zugreife, war das für mich auch Neu. :'(

Aber so lange du noch ein Lächeln hast, ist alles halb so Schlimm. :1

Na toll... also Sicherheit auf niedrig... :'( :| :knuppel2: :knuppel2: :knuppel2: :knuppel2: :knuppel2: :knuppel2:
habe bei mir immer auf Mittel stehen, :1 dann kann ich immer noch entscheiden, JA oder NEIN mml
 
  • #16
Naja, ich bin ja erstens froh, dass das Problem nicht an mir lag ;)
Ja ich dachte mir halt, jedes mal auf ja klicken, nervt den Benutzer spätestens nach nem Monat.
Ich arbeite ja nicht damit.
Ja ich weiß, dass niedrig nicht prickelnd ist. Ich mein wenn ich mit Excel nur und ausschließlich diese eine Datei benutzte, ist es doch Wurst, ob ich IMMER auf ja klicke, oder es gleich ganz sein lasse, wa ::)

Es dankt
der Spender
 
  • #17
Noch einer an Matjes

Falls ich noch mehr grüne Spalten haben will einfach
Const cSP_F = x im code ergänzen und gut is? Wobei x= Nummer der Spalte... also nicht Buchstabe!

Noch ma wegen der Sicherheit. Auf den Rechnern wird nur das ein Excel-sheet benutzt.
Immer Makros zulasssen, wäre js eher gefährlich, wenn ich fremde Excel-sheets benutzte mit Makros drin, oder?

Es dankt
der Spender
 
Thema:

Zellen in Excel ziehen Ergänzung des vorhandenen Makors

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben