Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1744to1748
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Code 2010

VBA Code 2010
10.03.2020 17:36:13
Marco
Hallo zusammen Hier im Forum,
Ich hoffe ich kann hier Hilfe finden, denn ich habe eine neue Excel Version 2016 und seit dem funktioniert mein alter VBA Code nur noch sehr sehr langsam, ich habe aber keine Ahnung woran es liegen kann und hoffe Ihr könnt mir helfen.
Public Sub SelectionChange(ByVal Target As Range)
'*** Abbrechen wenn schon was anderes läuft
If IsActive2 Then
Exit Sub
End If
'* Nur die Zeilen mit Projekten erlauben
GültigeZeile = False
For intRow = Header To Header + (LinesPerDay * 4) Step LinesPerDay
If Target.Row >= intRow And Target.Row 

im Excel 2010 hat dieser super funktioniert
Vielen Dank schon mal
Gruß
Marco

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code 2010
10.03.2020 17:59:17
onur
Ohne die Datei kaum möglich. Man sieht weder, was in den (offenbar) public deklariereten Variablen drin ist, noch, ob sie überhaupt befüllt wurden.
AW: VBA Code 2010
10.03.2020 18:16:35
Luschi
Hallo Marco,
mit der Behauptung
- 'im Excel 2010 hat dieser super funktioniert' kann keiner etwas anfangen
- niemand weiß, wie/wann Du die Routine 'SelectionChange' aufrufst
- diese Prozedur ist kein Ereignis/Event - muß also irgendwie gestartet werden
- Schleifen mit direkter Aktion sind immer langsam
- also erst alle Zellbereiche in einer Range-Variablen sammeln
- und dann die Aktion starten (z.B. Hintergrundfarbe ändern)
- die Variable 'Header'ist im gezeigten Vba-Code nicht definiert
- sicher fehlt die Vba-Editor-Einstellung: Option Explicit
- ActiveSheet gibt es in meinem Vba-Code nicht (NIE!)
- hier müssen Objektvariabelen definiert und verwendet werden
Gruß von Luschi
aus klein-Paris
Anzeige
AW: VBA Code 2010
11.03.2020 09:59:17
Marco
Guten Morgen zusammen,
bei dieser Datei handelt es sich um eine Art Baustellenplanung.
Im Blatt "Vorgänge" lege ich die Kalenderwochen an und trage meine Baustelle ein.
In der jeweiligen KW wird an den bestimmten Tag die Vorgangsnummer eingetragen und die Mitarbeiter über eine Box ausgewählt
es funktionioert soweit alles. Mit Excel 2010 gehtes sehr zügig nur in Excel 2019 braucht er ewig um zu aktualisieren.
Je mehr Kalenderwochen angelegt sind um so schlimmer wird es.
Die Musterdatei habe ich mal angehangen.
Ich hoffe Jemand hat einen Tip für nich, woran es liegen kan.
Danke schon mal für eure Hilfe
VG
Maco
https://www.herber.de/bbs/user/135763.zip
Anzeige
AW: VBA Code 2010
11.03.2020 20:33:14
Luschi
Hallo Marco,
ich habe mal Folgendes getan:
- in jedem vorhanden Modul folgende Einstellung in der 1. Zeile hinzugefügt
- Option Explicit
- damit wird erzwungen, daß jede verwendete Variable auch definiert ist
- und schon meckert der Debugger
- Du veränderst viele Werte in den Zellen per Vba
- damit wird aber jedes mal das Ereignis 'Worksheet_Change' der jeweiligen Tabelle aufgerufen
- und damit hast Du einen Schleifen-Kreislauf erzeugt, der so nicht gewollt ist
- Abhilfe : Application.EnableEvents = False bzw. True
- aber diese Einstellung kann ich aber im Code nicht finden
- würdest Du mit BrakePoints (Haltepunkten - F9-Taste) während des Testens arbeiten
- wird das Dilemma sichtbar
- eigentlich gehören dazu noch ein paar Einstellungen, um Excel-Vba auf die Sprünge zu helfen
- siehe im I-Net: Excel Vba GetMoreSpeed
Gruß von Luschi
aus klein-Paris
Anzeige
AW: VBA Code 2010
12.03.2020 08:07:34
Marco
Guten Morgen Luschi,
vielen DAnk für deine Mühe. Ich habe es mir mal angesehen und bin am verzweifeln. Da ich keine VBA Kentnisse habe weis ich auch leider nicht wo ich was einfügen soll mit
Application.EnableEvents = False bzw. True
Sub getMoreSpeed(bDoIt As Boolean)
Application.ScreenUpdating = Not (bDoIt)
Application.EnableEvents = Not (bDoIt)
Application.Calculation = IIf(bDoIt, xlCalculationManual, xlCalculationAutomatic)
End Sub

Könntest Dur mir bitte helfen?
Gruß Marco

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige