Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Suchen, Auswählen, Merken, Drucken
Guten Morgen Schauan,
Hi Rabe,

bisher beschränken wir uns ja -bis auf wenige Ausnahmen- auf dieses kleine Projekt hier aber ich würde hier gerne wieder eine Ausnahmekommentierung vornehmen:
@Rabe: Antwort umd 1:21Uhr?
@Schauan: und du mein Lieber, wieder 6:24 Uhr? Smile Ich mag dieses Forum wirklich! Danke Männer!

Back to the roots:

@Rabe: An diese Möglichkeit hatte ich auch schon gedacht. Aber immer eine Msg.Box wenn einer der Werte fehlt, könnte auf Dauer nervig sein?! Smile Es sei denn, es gibt die Möglichkeit, dass wenn man die Artikel kopieren möchte, dass er dann jedes Feld prüft und im Anschluss die nicht ausgefüllten Felder Rot färbt und nach Korrektur wieder Grün?! (ich stelle mir das gerade so vor, wie wenn man sich z.B. irgendwo neu registrieren möchte und du ein Feld nicht ausfüllst, dass du die Registrierung nicht abschließen kannst).

@Schauan: Welchen Laufzeitfehler meinst du? Also derzeit stehen die Formeln in folgender Abhängigkeit:

Wird in "I" ein Wert eingetragen steht in "J" "Select Timeline"
Wird in "K" ein Wert eingetragen (und im Input kein Datum eingetragen wurde) steht in "H" "Fehler" und in "I" "No days to calculate".

Ich muss da die Fälle abdecken, für den Fal, dass jemand besonders Schlau sein möchte Wink

Danke, viele Grüße und einen guten Start in den Tag Smile
Alex
Antworten Top
Hallo Alex,

hier aus Deinem letzten Beitrag gestern Abend:
"dass er, wenn er nur "I" auswählt einen Laufzeitfehler hat"
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
Hallo Schauan,

mein Fehler. Ich hab die wenn Formel so genannt.
Es ist also kein offizieller Laufzeitfehler Wink

Viele Grüße,
Alex
Antworten Top
Hi Alex,

(09.08.2014, 07:34)Alex105 schrieb: @Rabe: Antwort umd 1:21Uhr?
@Schauan: und du mein Lieber, wieder 6:24 Uhr? Smile Ich mag dieses Forum wirklich! Danke Männer!

Back to the roots:

@Rabe: An diese Möglichkeit hatte ich auch schon gedacht. Aber immer eine Msg.Box wenn einer der Werte fehlt, könnte auf Dauer nervig sein?! Smile Es sei denn, es gibt die Möglichkeit, dass wenn man die Artikel kopieren möchte, dass er dann jedes Feld prüft und im Anschluss die nicht ausgefüllten Felder Rot färbt und nach Korrektur wieder Grün?! (ich stelle mir das gerade so vor, wie wenn man sich z.B. irgendwo neu registrieren möchte und du ein Feld nicht ausfüllst, dass du die Registrierung nicht abschließen kannst).

1.: ja, klar, habe grad Urlaub. Wir wollen doch die Zeit des unbetreuten Forums möglichst minimieren. :)
2.: das mit den Farben ist ja in Andrés Beitrag von heute 6:24 schon drin.

Zitat:Du könntest in K3 auch folgende Bedingung für eine bedingte Formatierung definieren
=UND(I3<>"";K3="")
K3 damit z.B. gelb oder rot färben und dann mit dem Pinsel das Format nach unten übertragen.

das kombiniert mit der Gültigkeit, daß es keine leere Zelle geben kann, dann ist doch alles abgedeckt.

Andererseits:
Wenn da eine nervige Msgbox kommt, dann macht der Benutzer den Fehler nicht sehr oft, bis er es gelernt hat. ;)

Gibt es eine aktuelle Datei zum Download?
Antworten Top
Hallo Rabe,

Sorry für die späte Antwort. Ich lade morgen früh eine Datei hoch, die ein Auszug der Originaldatei abbildet.

Ich habe die Formatierung angepasst aber er färbt die Zelle noch nicht, wenn ich zuerst "I" ausfülle. Ich muss mich da morgen früh nochmal in Ruhe dran setzten. Smile

@Schauan: siehst du eine Möglichkeit, dass ich das Projekt sperre, ohne das jemand ein mögliches Passwort auslesen könnte? Smile


Viele Grüße und vielen Dank

Alex
Antworten Top
Hallo Schauan,

ich habe jetzt mal die Originaltabelle um einige "Reiter" gekürzt und neu eingestellt.

Warum auch immer, übernimmt er mir beim Cell_Reset wieder nicht die Farbe in "I" und "K". Und das Thema mit "I" zuerst und dann grün einfärben funktioniert bei mir auch noch nicht :(

Danke für deine Hilfe und einen guten Start in die Woche Smile

Viele Grüße
Alex


Angehängte Dateien
.xlsm   Mustertabelle_8.xlsm (Größe: 163,04 KB / Downloads: 7)
Antworten Top
Hallo Schauan,

nach etwas hin und her ist mir noch etwas aufgefallen Wink

Ich habe zusätzlich, zu deiner Idee mit dem Kontextmenü, noch entsprechende Command.Boxen eingefügt (es gibt ja auch Kunden, die kommen evlt. nicht so gut mit der Steuerung des ganzen via rechter Maustaste zurecht Wink

Diese Liegen alle auf dem Desktop und laufen auch. Bis auf ein Teilchen. Das "Save as PDF" speichert das aktuelle Tabellenblatt (indem Fall ja "Input", weil dort der Button liegt.

Hier mal der Code:

Code:
Sub DateiSpeichernUnter()
'Sicherheitsabfrage
If MsgBox("An already existing PDF will be overwritten, if you have saved one! Continue?", vbYesNo, "Save PDF ") _
   = vbNo Then Exit Sub
'Aktives Blatt als pdf speichern
With ActiveSheet.PageSetup <--- HIER
    .Orientation = xlLandscape
    .Zoom = 60
End With
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "/" & ThisWorkbook.Name & ".pdf"
'Dialog Speichern unter aufrufen
'Application.CommandBars.ExecuteMso "FileSaveAs"
End Sub


Wäre es möglich, den Verweis so zu gestalten, dass wenn:

1. der User mit der rechten Maustaste arbeitet (im temporären Blatt) dieses so gespeichert wird
2. der User zurück zum "Input" springt und dort den Button drücken möchte er auch das temporäre Blatt nimmt, statt das Blatt "Input"


Wenn das sehr aufwendig ist, kann ich auch ein workaround machen Smile

Danke Schauan :23:
Antworten Top
Hallo Alex,

in den Beispielen war bis jetzt immer in Spalte H ein Eintrag - außer in der farbigen "Zwischenzeile". Damit ich nicht versehentlich die Zwischenzeile färbe, habe ich also nachgeschaut, ob in H was steht.

Jetzt steht dort überall nichts mehr Sad Dann hattest Du auch nicht den letzten code im SheetChange. Dein grau ist auch etwas dukler als zuletzt.

In Spalte K hast Du keine Auswahlfelder mehr. Dadurch kann man das SheetChange erweitern und jetzt auch die Zeile gelb färben, wenn eine Eingabe fehlt - siehe hier:

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    'Wenn der Name des aktiven Blattes <> Input und Sales ist, dann
    If Sh.Name <> "Input" And Sh.Name <> "Sales" Then
       'Wenn die Aenderung in Spalte G erfolgt und nur eine Spalte betrifft, dann
       If Target.Row > 2 And Target.Column = 9 And Target.Columns.Count = 1 And Target.Areas.Count = 1 Then
         'Blattschutz aufheben
         Sh.Unprotect
         'Schleife ueber alle gewaehlten Zellen
          For Each zellen In Target
            'Mit dem Bereich Spalte C (3) bis M (13)
            With Sh.Range(Sh.Cells(zellen.Row, 3), Sh.Cells(zellen.Row, 13))
              'Wenn Inhalt > 0 ist, dann mit ... einfaerben, sonst Farbe rausnehmen
              If zellen > 0 And zellen.Offset(, -5) <> "" And zellen.Offset(, 2) <> "" Then
                .Interior.Color = 5296274
              ElseIf (zellen > 0 And zellen.Offset(, -5) <> "" And zellen.Offset(, 2) = "") Or _
                    (zellen = "" And zellen.Offset(, -5) <> "" And zellen.Offset(, 2) > 0) Then
                .Interior.Color = 65535
              ElseIf zellen.Offset(, -5) <> "" Then
                .Interior.Color = xlNone
                'Hellgrau in Spalte I und K setzen
                Sh.Cells(zellen.Row, 9).Interior.Color = 15921906
                Sh.Cells(zellen.Row, 11).Interior.Color = 15921906
              End If
           'Ende Mit dem Bereich Spalte C (3) bis M (13)
           End With
         'Ende Schleife ueber alle gewaehlten Zellen
         Next
         'Blattschutz setzen
         Sh.Protect
       ElseIf Target.Row > 2 And Target.Column = 11 And Target.Columns.Count = 1 And Target.Areas.Count = 1 Then
         'Blattschutz aufheben
         Sh.Unprotect
         'Schleife ueber alle gewaehlten Zellen
          For Each zellen In Target
            'Mit dem Bereich Spalte C (3) bis M (13)
            With Sh.Range(Sh.Cells(zellen.Row, 3), Sh.Cells(zellen.Row, 13))
              'Wenn Inhalt > 0 ist, dann mit ... einfaerben, sonst Farbe rausnehmen
              If zellen > 0 And zellen.Offset(, -7) <> "" And zellen.Offset(, -2) <> "" Then
                .Interior.Color = 5296274
              ElseIf (zellen = "" And zellen.Offset(, -7) <> "" And zellen.Offset(, -2) > 0) Or _
                   (zellen > 0 And zellen.Offset(, -7) <> "" And zellen.Offset(, -2) = "") Then
                .Interior.Color = 65535
              ElseIf zellen.Offset(, -7) <> "" Then
                .Interior.Color = xlNone
                'Hellgrau in Spalte I und K setzen
                Sh.Cells(zellen.Row, 9).Interior.Color = 15921906
                Sh.Cells(zellen.Row, 11).Interior.Color = 15921906
              End If
           'Ende Mit dem Bereich Spalte C (3) bis M (13)
           End With
         'Ende Schleife ueber alle gewaehlten Zellen
         Next
         'Blattschutz setzen
         Sh.Protect
       'Ende Wenn die Aenderung in Spalte G erfolgt und nur eine Spalte betrifft, dann
       End If
    'Ende Wenn der Name des aktiven Blattes <> Input und Sales ist, dann
    End If
End Sub

Die Farbnummer für das Grau bekommst Du z.B. so raus:

MsgBox ActiveCell.Interior.Color
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
Hallo Alex,

das mit dem pdf kannst Du ähnlich wie beim cellreset lösen. Problem war und ist ja, dass der Blattname des temporären Blattes unbekannt ist.
Im CelllReset habe ich diese Schleife:
Code:
Dim blaetter ..
...
For Each blaetter In Worksheets()
  'Wenn der Blattname nicht Input und Sales ist, dann
  If blaetter.Name <> "Input" And blaetter.Name <> "Sales" Then
    'wenn ein Bild drauf ist
    If blaetter.Pictures.Count > 0 Then


Dort machst Du dann mit blaetter.ExportAsFixedFormat... und was Du sonst noch tun willst bis hin zum zurückspringen, weiter und schließt dann die Ifs und die Schleife.


Das Projekt kannst Du mit den Boardmitteln schützen. Mehr geht in Excel nicht.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
Hallo Schauan,

sorry für meine späte Antowrt. Ich muss gleich noch in die Schweiz fahren. Das mit dem Gelb ist genial. Und wenn ich jetzt erst in "I" was eintrage und dann in "K" färbt er mir das alles grün ein! Smile Tausend Dank.

ABER:

Er setzt mir die Zellen beim Clear_Worksheet nicht mehr ins Grau um. Also "I" und "K" sondern lässt die gesamt Zelle gelb eingefärbt. Weist du evtl. woran das liegen könnte? :17: (ich habe unsere Codes miteinander verglichen und entsprechend angepasst)

Das mit dem PDF erzeugen aus dem "Input"-sheet via Button, bzw. das Umsetzen davon, ist mir tatsächlich noch unklar, wie du das meinst:05:

Danke Schauan! :100: wenn du willst bringe ich dir schweizer Schokolade mit und schicke sie dir dann per post Smile

Gruß,
Alex
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste