Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Die Suche hat 155 Ergebnisse ergeben.
Seite 10 von 11 Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11  Weiter
Index
Autor Nachricht
  Thema: Excel-Datum ohne Punkt eingeben 
HKindler

Antworten: 2
Aufrufe: 591

BeitragForum: Excel VBA (Makros)   Verfasst am: 12. Jul 2013, 10:11   Titel: AW: Excel-Datum ohne Punkt eingeben Version: Office XP (2002)
Die Routine Worksheet_Change muss in das entsprechende Arbeitsblatt. Dazu im VBA-Editor einen Doppelklick auf die entsprechende Tabelle machen und die Routine im Code-Fenster einfügen.

Die beiden anderen Routinen gehören in ein allgemeines Modul.

Bei Worksheet_Change musst du dann noch die Zellen angeben, auf die reagiert werden soll. Im Orginal steht da jetzt Range("B38") für das Datum und Range("B39") für die Zeit. Dies musst du halt auf deine Tabelle anpassen. Willst du z.B. in der gesamten Spalte F ein Datum eingeben, dann musst du statt Range("B38") einfach Range("F:F") schreiben. Soll hingegen nur auf die beiden Zellen B1 und G8 reagiert werden, dann muss es Range("B1,G8") heißen. Ich hoffe das Prinzip ist klar.

Ich selbst würde allerdings keine solche Funktion verwenden, denn wenn am Aufbau der Tabelle etwas geändert wird, dann muss man jedes mal daran denken diesen Bereich in VBA an zu passen. Ich finde es wesentlich p ...
  Thema: Zum grössten Datum 
HKindler

Antworten: 9
Aufrufe: 107

BeitragForum: Excel VBA (Makros)   Verfasst am: 11. Jul 2013, 13:43   Titel: AW: Zum grössten Datum Version: Office 2007
Um dir noch zu erklären wieso dein Ansatz mit dem zurückformatieren nicht erfolgreich war: xxx.Select verschiebt den Cursor auf xxx.

Du müsstest also den Code
Range("B:B,E:E").Select
Selection.NumberFormat = "m/d/yyyy"
so schreiben:
Range("B:B,E:E").NumberFormat = "m/d/yyyy"
Merke: Select und Activate unter VBA wenn möglich vermeiden. Und es ist eigentlich immer möglich!
  Thema: Macro: Worksheet schützen mit Ausnahmen 
HKindler

Antworten: 1
Aufrufe: 60

BeitragForum: Excel VBA (Makros)   Verfasst am: 11. Jul 2013, 10:17   Titel: AW: Macro: Worksheet schützen mit Ausnahmen Version: Office 2010
Schau dir mal die Optionen von Worksheet.Protect an. Da gibt es z.B. AllowFormattingColumns, AllowFormattingRows und AllowFiltering. Leider merkt sich Excel zumindest AllowFiltering beim Speichern nicht. Bei den beiden anderen bin ich mir nicht sicher. Du musst diese Optionen also bei jedem Öffnen der Arbeitsmappe neu setzen.
  Thema: ZÄHLENWENN mit ODER-Verknüpfung 
HKindler

Antworten: 9
Aufrufe: 243

BeitragForum: Excel Formeln   Verfasst am: 11. Jul 2013, 09:49   Titel: Re: AW: ZÄHLENWENN mit ODER-Verknüpfung Version: Office 2010
Mit nachfolgendem Code z.B. funktioniert die Funktion trotz der Optional-Kennzeichnung nur, wenn alle Parameter angegeben sind. Was mache ich falsch?

Um diese Frage zu beantworten:
Benutze statt IsEmpty(...) die Funktion IsMissing(...) und schon funktioniert es.
IsMissing geht allerdings nur bei Variablen vom Typ Variant. Alle anderen Variablen werden, sofern sie nicht angegeben sind, automatisch mit ihrem Default-Wert belegt. Ist kein Default definiert, dann bekommen sie den Default des Typs (z.B. bei Long 0, bei String "" etc.).
  Thema: ZÄHLENWENN mit ODER-Verknüpfung 
HKindler

Antworten: 9
Aufrufe: 243

BeitragForum: Excel Formeln   Verfasst am: 10. Jul 2013, 15:17   Titel: AW: ZÄHLENWENN mit ODER-Verknüpfung Version: Office 2010
Sehe gerade, das für Excel bis 2003 funktioniert nicht im Falle von "ksk", da diese Zelle dann doppelt abgezogen wird...

Also nochmals...
=ZÄHLENWENN(EV127:EV133;"*s*")+ZÄHLENWENN(EV127:EV133;"*k*")-ZÄHLENWENN(EV127:EV133;"*s*k*")-ZÄHLENWENN(EV127:EV133;"*k*s*")+ZÄHLENWENN(EV127:EV133;"*s*k*s*")+ZÄHLENWENN(EV127:EV133;"*k*s*k*")
Nein, geht auch nicht, da jetzt die Zelle sksk jetzt einmal zu oft gezählt wird. Das Spiel kann man jetzt beliebig oft treiben...

Also VBA:

Function ZählenWennOder(ByVal Bereich As Range, ByVal Vergleich1 As Variant, ByVal Vergleich2 As Variant) As Long
Dim Zelle As Range
For Each Zelle In Bereich
If Zelle Like Vergleich1 Or Zelle Like Vergleich2 Then ZählenWennOder = ZählenWennOder + 1
Next Zelle
End Function
  Thema: ZÄHLENWENN mit ODER-Verknüpfung 
HKindler

Antworten: 9
Aufrufe: 243

BeitragForum: Excel Formeln   Verfasst am: 10. Jul 2013, 14:59   Titel: AW: ZÄHLENWENN mit ODER-Verknüpfung Version: Office 2010
Versuch mal dies:
=ZÄHLENWENN(EV127:EV133;"*s*")+ZÄHLENWENN(EV127:EV133;"*k*")-ZÄHLENWENNS(EV127:EV133;"*s*";EV127:EV133;"*k*")
Oder für Excel bis 2003:
=ZÄHLENWENN(EV127:EV133;"*s*")+ZÄHLENWENN(EV127:EV133;"*k*")-ZÄHLENWENN(EV127:EV133;"*s*k*")-ZÄHLENWENN(EV127:EV133;"*k*s*")
  Thema: Bitweise Verknüpfung in bedingter Formatierung ohne BITUND() 
HKindler

Antworten: 1
Aufrufe: 217

BeitragForum: Excel Formeln   Verfasst am: 10. Jul 2013, 13:54   Titel: AW: Bitweise Verknüpfung in bedingter Formatierung ohne BITU Version: Office 2010
Schreib doch einfach eine eigene Funktion in VBA:

Function BitUnd2010(Eins As Long, Zwei As Long) As Long
BitUnd2010 = Eins And Zwei
End Function

Function BitOder2010(Eins As Long, Zwei As Long) As Long
BitOder2010 = Eins Or Zwei
End Function

Function BitXOder2010(Eins As Long, Zwei As Long) As Long
BitXOder2010 = Eins Xor Zwei
End Function

Ich habe dir auch gleich mit gezeigt wie man Oder und XOder umsetzen kann.

Du musst dann nur noch darafu achten , dass du auch wirklich Ganzzahlen in den Zellen stehen, ansonsten werden die Nachkomastellen einfach abgeschnitten.
  Thema: Zellen schützen nach Speicherung mit Windows 7 
HKindler

Antworten: 10
Aufrufe: 150

BeitragForum: Excel VBA (Makros)   Verfasst am: 10. Jul 2013, 09:52   Titel: Re: AW: Zellen schützen nach Speicherung mit Windows 7 Version: (keine Angabe möglich)
Also bei mir funktioniert das nicht richtig.
Beim Makro von Helmut werden die Zellen zwar geschützt, um aber leere Zellen füllen zu können, muss ich den Blattschutz aufheben, damit sind aber die bereits gefüllten und gespeicherten Zellen wieder ungeschützt.

Bei dem Makro von Ralf kann ich werkeln wie und was ich will, da ist gar nix geschützt.

Dann einfach bei allen anderen Zelle den Zellschutz aufheben. Also im nackten Blatt alle Zellen markieren -> Rechtsklick -> Zellen formatieren... -> Reiter Schutz -> Haken bei "Gesperrt" entfernen. Jetzt ist der Schutz bei allen Zellen zunächst einmal aufgehoben und sie können auch bei aktiviertem Blattschutz verändert werden.

Ist mein Code im Tabellenblatt aktiv, dann werden Zellen die geändert werden automatisch geschützt. Vielleicht noch eine kleine Verbesserung im Code
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Parent.Unprotect
If Target <> "" Then Target.Locked = T ...
  Thema: Zellen schützen nach Speicherung mit Windows 7 
HKindler

Antworten: 10
Aufrufe: 150

BeitragForum: Excel VBA (Makros)   Verfasst am: 09. Jul 2013, 15:16   Titel: AW: Zellen schützen nach Speicherung mit Windows 7 Version: (keine Angabe möglich)
Was soll da nicht funktionieren? Habe es eben mit Excel 2010 unter Windows 7 getestet und es funktioniert.

Kann es sein, dass du beim Blattschutz ein Paswort vergeben hast?

Und noch etwas: Wir haben hier Künstler die es schaffen solch ein Makro aus dem Tritt zu bringen indem sie in eine Zelle einen Wert eintippen und dann nicht Enter oder eine der Pfeiltasten drücken, sondern direkt, während die Zelle noch im Edit-Modus ist, auf eine der Registerkarten klicken um das Tabellenblatt zu wechseln. Und schon ist ein anderes Blatt das Aktive Blatt.

Also besser den Code so formulieren:
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Parent.Unprotect
Target.Locked = True
Target.Parent.Protect
End Sub
  Thema: Zeiteingaben vereinfachen mit Macro 
HKindler

Antworten: 11
Aufrufe: 229

BeitragForum: Excel VBA (Makros)   Verfasst am: 08. Jul 2013, 11:59   Titel: AW: Zeiteingaben vereinfachen mit Macro Version: Office 2003
Ersetze das Zahlenformat der Zellen, in denen die Nullwerte nicht sichtbar sein sollen durch das benutzerdefinierte Format "[=0];altes Format" also bei Uhrzeiten durch "[=0];hh:mm" oder beim Zahlen-Format mit zwei Nachkommastellen und Tausenderpunkt durch "[=0];#.##0,00".Dies bewirkt, dass bei Nullwerten nichts ausgegeben wird.

Du kannst sogar so was machen: "[rot][<0,25]hh:mm;hh:mm" dann werden alle Zeiten vor 6:00 Uhr Rot ausgegeben.
  Thema: Bug in VBA / VBA-Debuger? 
HKindler

Antworten: 11
Aufrufe: 332

BeitragForum: Excel VBA (Makros)   Verfasst am: 08. Jul 2013, 09:14   Titel: Re: AW: Bug in VBA / VBA-Debuger? Version: Office 2010
Hallo l.key

also, was mir aufgefallen ist: Das eigentlich Problem ist nicht die zweite Bedingte Formatierung, sondern die erste. Sie hat als Formel ein eingene Funktion, die auf VBA zugreift. Meine Mutmaßung: Durch die zweite bedingte Formatierung wird zu auch die erste mehrfach für alle Zelle berechnet. Dabei kommt wohl irgendwas dem Change-Ereignis in die Quere. Erklären kann ich das aber auch nicht.

Wie eben schon geschrieben scheint das wirklich die Ursache zu sein. Auch wenn dies bisher noch niemand erklären kann.

Nochmal zu deiner HatFormel-Funktion.
Function HatFormel(Optional ByVal Zelle As Range) As Boolean
If Zelle Is Nothing Then Set Zelle = Application.Caller
HatFormel = True 'Zelle.HasFormula
End Function
Die macht so gar keinen Sinn, da sie immer Wahr zurückgibt.
Wenn schon, dann so:
Function HatFormel(Optional ByVal Zelle As Range) As Boolean
If Zelle Is Nothing Then Set Zelle = Application.Caller
If Zelle.HasFormula Then HatFor ...
  Thema: Bug in VBA / VBA-Debuger? 
HKindler

Antworten: 11
Aufrufe: 332

BeitragForum: Excel VBA (Makros)   Verfasst am: 08. Jul 2013, 08:18   Titel: Re: AW: Bug in VBA / VBA-Debuger? Version: Office 2010
Hallo Helmut,

habe festgestellt dass das Problem bei der "Function HatFormel" (Modul1) entsteht. Im Speziellen mit "Application.Caller". Habe diesen Codeteil versuchsweise deaktiviert und das Blatt 2 funktioniert. Möglicherweise kannst du auf dieses "Teil" verzichten oder abändern.

G Gast
OK, kann ich so bestätigen. Scheinbar kommt hier Application.Caller irgendwie dem Worksheet_Change in die Quere, aber halt nur unter bestimmten Umständen. Dies scheint mir jetzt doch wirklich ein Bug in Excel / VBA zu sein. WIe gesagt reagiert hier selbst der Debuger von VBA sehr seltsam.
  Thema: Bug in VBA / VBA-Debuger? 
HKindler

Antworten: 11
Aufrufe: 332

BeitragForum: Excel VBA (Makros)   Verfasst am: 08. Jul 2013, 08:15   Titel: Re: AW: Bug in VBA / VBA-Debuger? Version: Office 2010
Hallo!
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
DatumEintragen Target:=Target, _
Bereich:=Range([DatumRange]), _
SpalteDatum:=[SpalteDatum], _
ZeileDatum:=[ZeileDatum], _
LetzteZeile:=[LetzteZeile]
End Sub

Ohne xl10 u. folglich ohne Test: So ein unbedingtes Change-Ereignis über alle Zellen des Blattes habe ich lange nicht mehr gesehen.

In der Routine selbst wird der Zellbereich sehr stark eingeschränkt. Da DatumEintragen bei vielen Tabellen verwendet wird, will ich auch alles was die Funktion betrifft - eben auch auf welche Zellen reagiert wird - in der Funktion selbst haben. Dies vereinfacht die Pflege der Routine doch enorm.
  Thema: Mitarbeiter Plan: mit Datumseingabe bestimmte Tage in neuem 
HKindler

Antworten: 18
Aufrufe: 412

BeitragForum: Excel VBA (Makros)   Verfasst am: 06. Jul 2013, 16:56   Titel: Re: AW: Mitarbeiter Plan: mit Datumseingabe bestimmte Tage i Version: Office 2007
ok. Habe die Spalte E auch erkannt Smile

Sorry, dass in E8 noch ein Fehler steckte. Du hast sicher gemerkt dass du alle 3en durch 8en ersetzen musst.
Und Spalte E war halt so in deinem Wunsch-Bild. So habe ich das halt schnell mit eingebaut. Ist ja auch kein großer Aufwand.
  Thema: Bug in VBA / VBA-Debuger? 
HKindler

Antworten: 11
Aufrufe: 332

BeitragForum: Excel VBA (Makros)   Verfasst am: 06. Jul 2013, 16:46   Titel: AW: Bug in VBA / VBA-Debuger? Version: Office 2010
Danke für die vielen Hinweise.
Werde ich mir mal am Montag oder Dienstag genauer anschauen.
 
Seite 10 von 11 Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11  Weiter
Gehe zu:  
Alle Zeiten sind
GMT + 1 Stunde

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel Tricks