Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1676to1680
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

Codeoptimierung

Codeoptimierung
21.02.2019 18:49:32
Lothar
Moin, Moin liebe Excelfreunde,seit Jahren ist mir diese Seite (also Ihr) ein treuer Berater auf meinem Weg. Nun wende ich mich mit einer Bitte an Euch. Ich möchte mein Projekt, was eigentlich läuft aber noch in der Testphase ist, optimieren. Mein Problem sind die vielen Select's und Activate's.
Wie kann ich dieses Makro ohne das 'select' und 'activate' zum Laufen bringen?
Irgendwie habe ich da eine Gehirnwindung zu wenig...
Sub schreibeBewegungsnummer()
Dim isinout As String
isinout = Tabelle2.Range("N1").Value 'der Name der Sortentabelle
If Tabelle2.Range("N1").Text = "" Then
Exit Sub
Else
Sheets(isinout).Activate
End If
ActiveCell.Value = Tabelle2.Range("M1").Value 'die Bewegungsnummer in die Zelle
If ActiveCell.Offset.Address = ("$K$2") Then 'bei Ende ist, fang von vorne an
ActiveCell.Offset(0, -9).Select
Else
ActiveCell.Offset(0, 1).Select 'sonst gehe nur eine zelle weiter
End If
Tabelle2.Range("N1").Value = "" 'setze Eintrag für Sortenauswahl auf null
End 

Sub


		

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

Betreff
Datum
Anwender
Anzeige
AW: Codeoptimierung
22.02.2019 09:44:57
Daniel
Hi
du verwendest ActiveCell, ohne zuvor eine bestimmte Zelle auf diesem Blatt selektiert zu haben.
Dh. du willst, mit der Zelle arbeiten, die zu zuletzt vom Anwender auf dem entsprechenden Blatt ausgewählt wurde.
In diesem Fall wäre das schon er richtige Weg.
Gruß Daniel
AW: Codeoptimierung
22.02.2019 11:17:01
Lothar
Hallo Daniel,
ja, die jeweilige Tabelle (isinout) ist eine von 20 Stück (allesamt visible=false) und in denen ist immer eine Zelle aktiv. Nachdem diese ihre Daten erhalten hat, wird die nächste Zelle rechts aktiviert. Solange, bis ("K2") erreicht ist, danach fängt die "Befüllung" wieder von vorn ("B2") an. Wie gesagt, das läuft ja. Vielleicht ist eine 'Optimierung' auch gar nicht erforderlich. Danke schön für die schnelle Antwort.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige