Namens-Frage
#31
Was heisst in dieser Zeile:  Target.Offset(2, 0).Resize(2, 100).ClearContents
das Resize(2,100)?
Antworten Top
#32
Hi,

schau mal in die Onlinehilfe. Setze der Cursor dazu in das gewünschte Schlüsselwort (hier: Resize) und drücke F1.
Zum blauen und roten Quadrat: Du scheinst im Aufzeichnungsmodus zu sein, hast also irgendwann "Makro aufzeichnen" gedrückt". Wozu? Du musst hier nichts aufzeichnen.
Antworten Top
#33
Es ist immer noch dasselbe Problem, Boris, wenn ich bastele, wird die Verbindung zwischen Macro und Sheet gelöst. Der Druck auf das rote/bzw blaue Quadrat bringt nichts. Ich muss Abspeichern, Excel ausschalten. Exel neu laden, dann kommt die Frage "Die Datei, die sie öffnen wollen, enthält Macros. Wollen sie die aktivieren, dann muss ich mit "ja antworten, und dann funktioniert wieder alles. Das kann doch nicht der normale Weg sein? 

Frage: Wenn das Quadrat rot ist, ist Macro dann eingeschaltet, und wenn es blau ist, dann aus?

wer weiss Rat? (Vor allem kann man so nicht Programmieren lernen!)

An Boris:
wir haben jetzt einmal als Ausgabe die Zahl unter der aktiven Zelle. Könntest Du mir noch die Zeile liefern das er sowas wie im Bild liefert, solche Türme. Ich füge dann die Zeile und kann die beiden Ausgaben dann alternativ über Auskommentieren ein- und ausschalten. Es wäre wünschenswert, wenn der gerade aktive Turm, also der über der Aktiven Zelle sich befindet, rot fett umrandet ist. 
   
zugleich möchte ich als 3. Ausgabe, dass er in der Nummernzeile diejenige Zahlen hervorhebt, wo im aktiven Bereich in der Spalte keine Zahl sich befindet. Damit es nicht zu bunt wird, diesmal nicht die ganze Zelle färben, sondern nur die Zahl rot machen, wie im Bild:
   

Vielen Dank, muss jetzt zu Mutti ....
Antworten Top
#34
Hi,

dann lad noch einmal Deine Mappe hoch, zumal sich Deine Bereiche offensichtlich wieder verändert haben (1. Bild).
Und google mal nach "Excel VBA Tutorial", um Dich ein wenig mit den VBA-Basics - insbesondere auch dem Editor - vertraut zu machen.
Antworten Top
#35
Hier sind die neuen Ideen


.xlsm   Mappe2-ZumBasteln.xlsm (Größe: 22,1 KB / Downloads: 3)

Was ist eigentlich der unterschied zwischen den Excel-Extensionen xlsb und xlsm, vermute ich richtig, dass das m für Macrobehaftet steht?

ich habe heut Nachmittag, nach Tutoria gesucht . viel gefunden . z.B. dies:

http://userpage.fu-berlin.de/~ram/pub/pu.../cells_vba

Aber nichts richtig Geeignetes... ich suche weiter, vllt kauf ich auch ein Buch...
Antworten Top
#36
Hi,

google einfach mal nach "xlsm xlsb Unterschied". Und ja, das "m" steht für "Makros".
Deine jetzt hochgeladene Mappe sieht aber anders aus als auf Deinem 1. Bild (mit dem "roten Turm").
Wir müssen jetzt hier irgendwann mal zum Ende kommen, daher lad mal Deine absolute Wunschdatei  inkl. finaler Beschreibung hoch.
Antworten Top
#37
Hallo


ich habe in deiner 1. Beispielmappe 3 Minuten gebraucht um einen ganz bösen Fehler zu finden. Darauf bin ich auch schon öfter reingefallen.



Mir kam aber der Zufall zu Hilfe das die Mappe beum Öffnen in eine Fehlermeldung lief. Dann war das Makro selbstverständlich Tod!!
Als der Code auch in einer zweiten neuen Tabelle nicht lief begriff ich was das Makro für immer abschaltet!  Application.EnableEvents!!
Warum das Makro in einen Fehler läuft fand ich noch nicht, aber jetzt weisst du das man EnableEvents immer mit On Error abfangen muss!!
Ich hoffe das hilft dir endlich beim Basteln weiter.  Viel Glück bei der Fehlersuche  WAS den Absturz beiim Öffnen verursacht???
mfg Gast 123
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static lngCol As Long
On Error GoTo Fehler
With Application
    If Not Intersect(Target, Range("A4:AZ5")) Is Nothing Then
        .EnableEvents = False
        Target.Resize(Range("A1"), Range("A2")).Select
        If Target.Column < lngCol Then
            Target.Offset(2, 0).Resize(2, 100).ClearContents
        End If
        Target.Offset(2, 0) = WorksheetFunction.Sum(Selection)
        .EnableEvents = True
    End If
End With
lngCol = Target.Column
Exit Sub
'Vorsicht mit ENABLE_EVENTS!! im Fehlerfall bleiben die abgeschaltet!!
Fehler:  Application.EnableEvents = True
MsgBox "Target Fehler aufgetreten!"
End Sub
Antworten Top
#38
Die Türme sind Worksheet 3-5 in eben der Datei. Die Länge des Turmes ist dann immer in A2, wobei diese Dateneingabefenster dann in die Erste Zeile hochgerückt werden können, aber das kann ich auch machen.  

Gut wäre noch, wenn eine Zelle wäre, wo man Zehntelsekunden angibt, und dann macht er immer automatisch einen Schritt. Dieser Modus muss aber ausschaltbar sein.
also: 
Modus 1: normal Pfeiltasten Benutzung
Modus 2: Die aktive Zelle wandert automatisch, alle so und soviel 10tel Sekunden weiter und verrichtet ihr Werk.

Kannst Du bitte auch beachten, was Gast123 schreibt: Das ist mir noch zu hoch, er will eine Vorrichtung, die was macht, wenn eine Fehler vorkommt...


.xlsm   Mappe2-ZumBasteln.xlsm (Größe: 22,1 KB / Downloads: 2)
Antworten Top
#39
PS  Privat:  es gibt viele Kollegen die besseres Fachwissen haben wie ich. Aber 25 Jahre Excel Erfahrung im Programmieren und Stundenlange hartnäckige Fehlersuche kann ich nicht verleugnen- Nennt man Lebenserfahrung, auf die ich mit Recht stolz bin.
Antworten Top
#40
(17.10.2021, 20:12)Gast 123 schrieb:
Hallo


ich habe in deiner 1. Beispielmappe 3 Minuten gebraucht um einen ganz bösen Fehler zu finden. Darauf bin ich auch schon öfter reingefallen.



Mir kam aber der Zufall zu Hilfe das die Mappe beum Öffnen in eine Fehlermeldung lief. Dann war das Makro selbstverständlich Tod!!
Als der Code auch in einer zweiten neuen Tabelle nicht lief begriff ich was das Makro für immer abschaltet!  Application.EnableEvents!!
Warum das Makro in einen Fehler läuft fand ich noch nicht, aber jetzt weisst du das man EnableEvents immer mit On Error abfangen muss!!
Ich hoffe das hilft dir endlich beim Basteln weiter.  Viel Glück bei der Fehlersuche  WAS den Absturz beiim Öffnen verursacht???
mfg Gast 123
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static lngCol As Long
On Error GoTo Fehler
With Application
    If Not Intersect(Target, Range("A4:AZ5")) Is Nothing Then
        .EnableEvents = False
        Target.Resize(Range("A1"), Range("A2")).Select
        If Target.Column < lngCol Then
            Target.Offset(2, 0).Resize(2, 100).ClearContents
        End If
        Target.Offset(2, 0) = WorksheetFunction.Sum(Selection)
        .EnableEvents = True
    End If
End With
lngCol = Target.Column
Exit Sub
'Vorsicht mit ENABLE_EVENTS!! im Fehlerfall bleiben die abgeschaltet!!
Fehler:  Application.EnableEvents = True
MsgBox "Target Fehler aufgetreten!"
End Sub

Hallo Gast, soweit bin ich noch nicht. Ich bastel ja sonst nur mit Python.

Ich finde den Befehl seltsam: 
Application
.EnabelEvents = False
.
.
.
.
.
.EnabelEvents = True

Was ist das für eine Klammer?  und was für eine Notation? Das er nichts machen soll, wenn im markierten Bereich nichts ist, ist das nicht schon ein Abfangen?
Antworten Top


Gehe zu:


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