Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
216to220
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
216to220
216to220
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bildschirmaktualisierung

Bildschirmaktualisierung
09.02.2003 13:23:46
Wolfgang
Hallo Excelfreunde
Ich habe mit der Bidschirmaktualisierung ein Problem.
In jedem Modul ist sie auf False und True gesetzt.

Mein Programm soll nun folgendes abarbeiten:
1.Materialnummern aus einem Arbeitsblatt auslesen
- select case Materialnummer (der SELECT Befehl ist in einer separaten Prozedur die ich mit call aufrufe)
2.In einer anderen geöffneten Datei wird der dazugehörige Textbaustein copiert, in die Ursprungsdatei aber in einem andern Arbeitsblatt eingefügt.
Der Bildschirm flakert nun laufend zwischen beiden Arbeitsblättern.

Kann jemand helfen?
Wolfgang

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Bildschirmaktualisierung
09.02.2003 13:26:45
Ralf Sögel

Du arbeitest wahrscheinlich mit select, das ist nicht nötig, dann triit auch dieser Effekt nicht auf.
Gruß Ralf

Re: Bildschirmaktualisierung
09.02.2003 13:54:36
Wolfgang

Hallo Ralf
Ja ich arbeite mit > select case < !
Nur ich habe sehr viele Materialnummern .
Gibt es besser Möglichkeiten ?
wolfgang

Re: Bildschirmaktualisierung
09.02.2003 14:21:37
Ralf Sögel

Poste doch mal den relevanten Code.
Gruß Ralf

Re: Bildschirmaktualisierung
09.02.2003 15:12:18
Wolfgang

Ich habe mal den Extrakt Rausgeschrieben
zur Erklärung
Ich habe eine Datei zur Bearbeitung (Masterdatei) und eine Zweite Datei Namens Dat_Text as der ich mir die Textbausteine hole.
In der Masterdatei (Arbeitsblatt Auszug) stehen die Materialnummern,die mit den
Texten in das Arbeitsblatt Auftrag aktualisiert werden.

Sub Auftrag()
Application.ScreenUpdating = False
Variablen_Auslesen
Sheets("Bestätigung").Activate: [a1].Select
Cells.Clear
Workbooks.Open FileName:=Dat_Text
Sheets("Textet").Activate
Cells.Copy
Windows(DateiMaster).Activate
ActiveSheet.Paste
[B10] = Name1
Call B_Auftrag
Windows("Dat_Text).close
[a1].Select
Application.ScreenUpdating = True
End Sub

Sub B_Auftrag()
Application.ScreenUpdating = False
Sheets("Auszug").Activate
zei = Cells(65536, 1).End(xlUp).Row
[a21].Select
For i =1 to zei
Select Case ActiveCell
Case Is <> ""
Zuordn = Cells(zei21, 5)
If Zuordn = "Mat" Then
Call Material
End If
End Select
Next i
Sheets("Bestätigung").Activate
Application.ScreenUpdating = True
End Sub

Sub Material()
Application.ScreenUpdating = False

Select Case Matnr
Case 0 To 1000
zeiLtxt = Sechundzwanzig: zeiA = 4: zeiE = zeiA + zeiLtxt - 1: spA = 2: spE = 8
Call PositiosTexte
Case Is = 2001
zeiLtxt = Vier: zeiA = 37: zeiE = zeiA + zeiLtxt - 1: spA = 2: spE = 8
Call PositiosTexte
End Select

Application.ScreenUpdating = True
End Sub

Sub PositiosTexte()
Application.ScreenUpdating = False
Windows("Texte.xls").Activate
Sheets("Positionstexte").Activate: Range(Cells(zeiA, spA), Cells(zeiE, spE)).Copy
Windows(DateiMaster).Activate
Sheets("Bestätigung").Activate: ActiveSheet.Paste
Cells(ActiveCell.Row, 2) = Pos
Application.ScreenUpdating = True
End Sub

Anzeige
Re: Bildschirmaktualisierung
09.02.2003 15:31:21
Boris

Hi Wolfgang,

ich bin ja nun alles andere als ein VBA-Profi, aber soviel weiss ich nun auch schon:
Die Codes wimmeln ja nur so von Activate, Select und Copy etc.

Beispiel:
Sheets("Bestätigung").Activate: [a1].Select
Cells.Clear

Kann auch geschrieben werden:
Sheets("Bestätigung").Cells.Clear

2. Beispiel:
Sheets("Textet").Activate
Cells.Copy
Windows(DateiMaster).Activate
ActiveSheet.Paste

Kann auch heissen (wenn du schon bei Copy bleiben willst):
Sheets("Textet").Cells.Copy Windows(DateiMaster).Range("A1")

Da braucht nix aktiviert und selektiert zu werden.

In dieser Art kürz dein Makro mal ein - und das Flimmern sollte zu Ende sein...;-)))

Gruß Boris


Anzeige
Re: Bildschirmaktualisierung
09.02.2003 15:36:31
Ralf Sögel

Kein Wunder, es wimmelt ja nur so von select und activate. Nur mal ein Beispiel:
Sheets("Bestätigung").Activate: [a1].Select
Cells.Clear
Alternative:
Sheets("Bestätigung").Cells.Clear
Gruß Ralf


Re: Bildschirmaktualisierung
09.02.2003 16:20:31
Wolfgang

Hallo Ralf
Ja ok, ich bemüh mich ja dies select's und active'es wegzulassen
Danke für den Hinweis.
wolfgang

Re: Bildschirmaktualisierung
09.02.2003 16:24:03
Wolfgang

Hallo Boris
Danke für Deine Tipps.
aber die select 's sind bei mir schon viel weniger geworden.
Aber ok die Activete hb ich halt noch viel genutzt
wolfgang

Re: Bildschirmaktualisierung
10.02.2003 22:23:31
Herbert

Hallo Wolfgang,
du darfst bei den beiden Makros,die Du aus dem ersten aufrufst
"Screenupdating" nicht auf true setzen,weil sonst der Rest des
Makros mit Bildschirmaktualisierung abläuft,darum das Flimmern.
Gruß Herbert

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige