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

Bildschirm

Bildschirm
03.07.2007 22:16:00
Burgherr
Guten Abend
ich habe ein kleines Problem bei einer Detaillösung. Ich habe eine Excel Mappe mit Eingabemaske programmiert und einem Tabellenblatt als Datenblatt.
Alles Tip Top, jedoch flimmert der Bildschirm ganz schön beim ausführen, da das Programm dabei zigmal zwischen den beiden Tabellenblättern wechselt.
Kann man das irgendwie ausschalten, dass der Bildschirm diese Umschalterei nicht mitmachen will.
Wäre froh wenn mir das jemand verraten könnte, mir wird bei dem geflacker ziemlich schwindlig. :-)
Gruss Max

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bildschirm
03.07.2007 22:27:09
Renee
Mazwara Max,
Flackern kommt vom Select und nahezu 100% kann man darauf verzichten.
Wenn Du den Code zeigst, kann frau vielleicht helfen.
Greetz Renee

AW: Bildschirm
03.07.2007 22:35:00
Burgherr
Salut Renee
Besten Dank schon mal. Hier der Code (ziemlich lang :-) )

Sub ÜBERNEHMEN()
ACHTUNG = MsgBox("Alle Daten korrekt?", vbYesNo, "ÜBERNEHMEN")
If ACHTUNG = vbYes Then
Range("B1").Select
Selection.Copy
Range("B3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("B1").Select
Selection.Copy
Sheets("Kontrollblatt").Select
Range("A2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Eingabe").Select
Range("F1").Select
Selection.Copy
Sheets("Kontrollblatt").Select
Range("U2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Eingabe").Select
Range("F2").Select
Selection.Copy
Sheets("Kontrollblatt").Select
Range("V2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Eingabe").Select
Range("F3").Select
Selection.Copy
Sheets("Kontrollblatt").Select
Range("W2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Eingabe").Select
Range("F4").Select
Selection.Copy
Sheets("Kontrollblatt").Select
Range("X2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Eingabe").Select
Range("F5").Select
Selection.Copy
Sheets("Kontrollblatt").Select
Range("Y2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Eingabe").Select
Range("F6").Select
Selection.Copy
Sheets("Kontrollblatt").Select
Range("Z2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Eingabe").Select
Range("F7").Select
Selection.Copy
Sheets("Kontrollblatt").Select
Range("AA2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Eingabe").Select
Range("F8").Select
Selection.Copy
Sheets("Kontrollblatt").Select
Range("AB2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Eingabe").Select
Range("F9").Select
Selection.Copy
Sheets("Kontrollblatt").Select
Range("AC2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Eingabe").Select
Range("F10").Select
Selection.Copy
Sheets("Kontrollblatt").Select
Range("AD2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Eingabe").Select
Range("F11").Select
Selection.Copy
Sheets("Kontrollblatt").Select
Range("AE2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Eingabe").Select
Range("F12").Select
Selection.Copy
Sheets("Kontrollblatt").Select
Range("AF2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Eingabe").Select
Range("F13").Select
Selection.Copy
Sheets("Kontrollblatt").Select
Range("AG2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A2").Select
Selection.End(xlDown).Select
Sheets("Eingabe").Select
Range("B1").Select
Selection.ClearContents
Range("H2").Select
Selection.Copy
Range("F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12,F13").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("B1").Select
Else:
Exit Sub
End If
End Sub


Anzeige
AW: Bildschirm
03.07.2007 22:38:00
Stephan
Hi, wenn ich Dich richtig verstanden habe könnte Dir das hier helfen:
Application.ScreenUpdating = False
Viel Erfolg...!

AW: Bildschirm
03.07.2007 22:46:00
Burgherr
Super!
Danke, das war's. Das flackern ist weg.
viel dank nochmals.
gruss Max

AW: Bildschirm
04.07.2007 08:01:29
Hajo_Zi
Hallo Max,
in VBA kann zu 99,9% auf select usw. verzichtet werden. Mal ohne Testug.

Option Explicit
Sub UEBERNEHMEN()
Dim Achtung As String
Dim InI As Integer
Achtung = MsgBox("Alle Daten korrekt?", vbYesNo, "ÜBERNEHMEN")
If Achtung = vbYes Then
Range("B1").Copy
With Range("B3")
.PasteSpecial Paste:=xlValues
End With
With Sheets("Kontrollblatt")
With .Range("A2").End(xlDown).Offset(1, 0)
.PasteSpecial Paste:=xlValues
End With
For InI = 1 To 13
Sheets("Eingabe").Cells(InI, 6).Copy
With .Cells(2, InI + 20).End(xlDown).Offset(1, 0)
.PasteSpecial Paste:=xlValues
End With
Next InI
End With
With Sheets("Eingabe")
.Range("B1").ClearContents
.Range("H2").Copy
.Range("F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12,F13").PasteSpecial Paste:=xlValues
End With
End If
End Sub



Anzeige
AW: Bildschirm
04.07.2007 08:03:45
Hajo_Zi
Hallo MAx,
eine Zeile fehlt noch vor End Sub
Application.CutCopyMode = False
Gruß Hajo

AW: Bildschirm
03.07.2007 23:05:53
Renee
Good evening Max,
Dieses Makro sollte das Gleiche, wie Deins machen:
Nur etwas schneller und ohne Flackern ;-)

Sub ÜBERNEHMEN()
Dim vAnswer As Variant
Dim iCnt As Integer
vAnswer = MsgBox("Alle Daten korrekt?", vbYesNo, "ÜBERNEHMEN")
If vAnswer = vbYes Then
ActiveSheet.Range("B1") = ActiveSheet.Range("B3").Value
With Sheets("Kontrollblatt")
.Range("A2").End(xlDown).Offset(1, 0) = ActiveSheet.Range("B1")
For iCnt = 1 To 13
.Range(.Cells(2, 20 + iCnt).Address).End(xlDown).Offset(1, 0) _
= Sheets("Eingabe").Cells(iCnt, 6)
Next iCnt
End With
With Sheets("Eingabe")
.Range("B1").ClearContents
.Range("F1:F13") = .Range("H2")
End With
End If
End Sub


Good night
Renee

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige