Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1060to1064
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

ScreenUpdating

ScreenUpdating
14.03.2009 16:52:53
Adi
Hallo Excelfreunde,
ich bin schon einige male hier geholfen worden,
ich hoffe dieses mal auch.
Das Makro zum Programm läuft gut, meine Frage
bezieht sich mehr auf einen Schönheitsfehler,
den ich mit ScreenUpdating = False nicht beseitigen konnte.
Die Exceldatei besteht aus 2 Tabellen, A und B
in Tabelle B wird eine Abfrage gestartet, z. B.
gebe ich eine Zahl ein, diese Zahl soll in Tabelle A,
Spalten A gesucht werden. Was stört ist,
dieses Wandern des Zeigers bis zu gefundenen Zahl,
dadurch wird das Programm auch langsamer.
Was kann man machen, um den Suchvorgang unsichtbar
zu machen.
Gruss Adi

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ohne Select und Activate arbeiten oT.
14.03.2009 16:55:07
Tino
AW: ohne Select und Activate arbeiten oT.
14.03.2009 18:16:44
Adi
Hallo Tino,
wir kennen uns, du hast mir schon einige male geholfen.
ich habe keine Ahnung was du meinst. ich sende mal das
betreffende Makro mit, welches die Zahl sucht.

Sub HebeNr2()      'Unterprogramm sucht richtige Garten Nr in Tabelle A
Application.ScreenUpdating = False
For ZählerA = 1 To 64
Range("A2").Value = GartenNr
ActiveCell.Offset(1, 0).Select
If ActiveCell.Value = GartenNr Then Exit Sub
Next ZählerA
Range("A2").Select
Application.ScreenUpdating = True
End Sub


Gruss Adi

AW: ohne Select und Activate arbeiten oT.
14.03.2009 18:51:49
Tino
Hallo,
der Sinn von diesem Makro bleibt mir verborgen.
So müsste dieser das gleiche machen.
Nicht getestet!
Sub HebeNr2()      'Unterprogramm sucht richtige Garten Nr in Tabelle A 
Dim LCounter As Long
 Range("A2").Value = GartenNr
    
    For LCounter = 1 To 64
        If ActiveCell.Offset(LCounter, 0) = GartenNr Then
         Exit Sub
        End If
    Next ZählerA
 
  Range("A2").Select

End Sub


Gruß Tino

Anzeige
habe bei Renee gespitzt ;-)
14.03.2009 19:29:31
Tino
Hallo,
, habe dass aktivieren der Zelle vergessen.

Sub HebeNr2()      'Unterprogramm sucht richtige Garten Nr in Tabelle A
Dim LCounter As Long
Range("A2").Value = GartenNr
For LCounter = 1 To 64
If ActiveCell.Offset(LCounter, 0) = GartenNr Then
ActiveCell.Offset(LCounter, 0).Select
Exit Sub
End If
Next ZählerA
Range("A2").Select
End Sub


Gruß Tino

Und Next LCounter, nicht ZählerA ;-) (owT)
14.03.2009 19:33:42
Renee

kommt davon
14.03.2009 19:52:42
Tino
Hallo,
,habe es nicht laufen lassen.
Aber bei Dir fehlt noch ein Application.ScreenUpdating ... ;-)
Gruß Tino
Mir nicht, der Frager weiss ja wie ;-)) (owT)
14.03.2009 19:57:49
Renee

AW: ohne Select und Activate arbeiten oT.
14.03.2009 19:04:04
Renee
Hi Adi,
Das gleiche (mir unerklärliche ;-) ohne Wandern..

Sub HebeNr2()      'Unterprogramm sucht richtige Garten Nr in Tabelle A
Application.ScreenUpdating = False
For ZählerA = 1 To 64
Range("A2").Value = GartenNr
If ActiveCell.Offset(ZählerA, 0) = GartenNr Then
ActiveCell.Offset(ZählerA, 0).Select
Exit Sub
End If
Next ZählerA
Range("A2").Select
Application.ScreenUpdating = True
End Sub


GreetZ Renée

Anzeige
AW: ein Demo für was bitte...?
14.03.2009 20:26:54
Renee
Hi Adi,
Ich kann und will das Ding nicht laufen lassen. Was erwartest du von uns?
Hast du das Modul mal ausgetauscht? und getestet?
GreetZ Renée
AW: ein Demo für was bitte...?
15.03.2009 14:03:02
Adi
Hallo Renee,
das Demo zeigt dir worüber wir hier reden,
lass es laufen, dann siehst du was ich meine.
Gruss Adi
AW: ein Demo für was bitte...?
15.03.2009 15:24:29
Tino
Hallo,
anstatt immer die Zelle zu selektieren, kannst Du den Offsetwert direkt angeben.
Ausschnitt aus Deinem Code:
z. Bsp.

ActiveCell.Offset(0, 1).Select: Gartentext = ActiveCell
ActiveCell.Offset(0, 1).Select: BeitragPacht = ActiveCell
ActiveCell.Offset(0, 1).Select: BeitragVerein = ActiveCell
ActiveCell.Offset(0, 1).Select: BeitragStadt = ActiveCell
ActiveCell.Offset(0, 1).Select: BeitragLand = ActiveCell
'... usw.


Besser so


Gartentext = ActiveCell.Offset(0, 1)
BeitragPacht = ActiveCell.Offset(0, 2)
BeitragVerein = ActiveCell.Offset(0, 3)
BeitragStadt = ActiveCell.Offset(0, 4)
BeitragLand = ActiveCell.Offset(0, 5)
'... usw.


Der Wert wird genau so übergeben ohne zuvor die Zelle zu selektieren.
Gruß Tino

Anzeige
AW: ein Demo für was bitte...?
15.03.2009 15:40:14
Adi
Hallo Tino,
alles OK
ich habe verstanden,
Danke
Gruß Adi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige