Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
864to868
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
864to868
864to868
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

@ fcs - Hilfe!

@ fcs - Hilfe!
01.05.2007 11:11:00
Dirk
Hallo Franz,
sicherlich hast du meine letzte Nachricht in dem Ausgangstread nicht mehr erhalten, aber vllt. kannst du mir nochmal helfen:

Hallo nochmal,
mir wurde schonmal SEHR geholfen (Dank an Franz - fcs), aber meine letzte Nachfrage scheint  _
untergegangen zu sein.
Hier der alte Tread: http://www. _
herber.de/forum/messages/865255.html
Zu meinen letzten 2 Fragen hier das aktuellste Beispiel:
https://www.herber.de/bbs/user/42121.xls
Die 1. Frage habe ich laienhaft selber "gelöst" (s. *Behelfslösung* in Modul2) - allerdings  _
bekomme ich das Bildschirmflackern (ScreenUpdating) nicht abgestellt u. der Code (zum Kopieren) läuft relativ langsam...
Zur 2. Frage fehlt mir leider immernoch jeglicher Ansatz...


Solltest du wider Erwarten keine Lösung wissen, so würde ich mich trotzdem über ein kurzes Feedback freuen.
MfG Dirk

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: @ fcs - Hilfe!
01.05.2007 18:52:02
fcs
Hallo Dirk,
zu Frage 1:
Ich habe den Code zum Kopieren etwas optimiert. Braucht auf meinem etwas betagten Rechner jetzt ca. 4 bis 5 Sekunden. Wesentlich ist, das das automatische Berechnen während der Ausführung deaktiviert ist. Leider funktionierte das Kopieren der Formate vom Blatt Plan nach Meldung nicht für den ganzen Zellbereich - wahrscheinlich wegen der verschiedensten Prozeduren, die jeweils ablaufen. So werden jetzt ähnlich wie beim Datum ich in einer Schleife die Formate Zelle für Zelle übertragen.
zu Frage 2:
ich hab die notwendigen Änderungen in drei Zeilen unten im Code der Prozedur Worksheets_Change(...) im Blatt "Plan" gekennzeichnet.
Gruß
Franz

Sub PlanZuMeldung()
'kopiert die Plan-Daten zur Meldung
Dim Datum As Date, Zelle As Range
Dim wksMeldung As Worksheet, wksPlan As Worksheet
Dim strBereich$ 'Ausfüllbereich in den Blättern Plan und Meldung
Set wksMeldung = Worksheets("Meldung")
Set wksPlan = Worksheets("Plan")
strBereich$ = "C6:T36"   ' Hier Spalte Anpassen wenn weitere Runden dazukommen.
wksMeldung.Select
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
With wksMeldung
.Unprotect
.Range("b1").Value = wksPlan.Range("b1").Value 'Monat
.Range("b2").Value = wksPlan.Range("b2").Value 'Jahr
'Datum in Spalte A und B
For Each Zelle In wksPlan.Range("B6:B36")
With .Range(Zelle.Address)
If Zelle.Value = 0 Then
.ClearContents
.Offset(0, -1).ClearContents
Else
Datum = Zelle.Value
.Value = Datum
.Offset(0, -1).Value = Datum
End If
End With
Next
'Daten und Formate in Spalten C bis T übertragen
'Daten übertragen
.Range(strBereich$).Value = wksPlan.Range(strBereich$).Value
'Formate übertragen (Füllfarbe, Fett-, Kursivschrift)
For Each Zelle In wksPlan.Range(strBereich$)
With .Range(Zelle.Address)
.Interior.ColorIndex = Zelle.Interior.ColorIndex
With .Font
.Bold = Zelle.Font.Bold
.Italic = Zelle.Font.Italic
End With
End With
Next
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
Range("C6").Select
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
' Prozedur im Blatt "Plan":
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Set Bereich = Range(Cells(6, 3), Cells(36, 3 + Runden * Spalten - 1))
'Prüfung der Eingabe im Eingabebereich der Runden
If Not Intersect(Target, Bereich) Is Nothing Then
For Each rng In Target
'Prüfung auf KITA- oder Fahrer-Spalte
If (rng.Column) Mod Spalten = 0 Or (rng.Column - 1) Mod Spalten = 0 Then
Call Machs(rng) 'Doppelte Eingabe prüfen
End If
Application.EnableEvents = False 'Verhindert die wiederholte Ausführung der Change- _
Prozedur
If Cells(Target.Row, 2) = 0 Then Target.ClearContents 'Kein Datum (Monate mit 


Anzeige
AW: @ fcs - Hilfe!
02.05.2007 17:18:40
Dirk
Hallo Franz,
gerade habe ich deine letzten Tipps eingearbeitet - jetzt funktioniert alles bestens !
Vielen, vielen Dank für deine nette Hilfe u. Erklärungen!
MfG Dirk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige