07.12.2015, 20:53
OK, habe die Hinweise verstanden und verspreche Besserung...sorry!
Excel 2013 VBA: FindReplace
|
||||||||||||||||||||||||||||||||||||||||||||
07.12.2015, 20:53
OK, habe die Hinweise verstanden und verspreche Besserung...sorry!
07.12.2015, 20:56
Hi Ralf,
hättest Du mir ein Beispiel bzgl. einer Verweistabelle und wie man darauf zugreift?
07.12.2015, 22:35
Hallo Erich!
Das Makro befindet sich in Tabelle1 ("Test"), da über einen CommandButton gestartet wird. Microsoft Excel Objekt Tabelle1 Option Explicit Siehe Datei!
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8 Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
08.12.2015, 00:07
(07.12.2015, 18:49)RPP63 schrieb: Dann brauchst Du auch nicht erst eine Formel in die Zelle schreiben und sie danach durch ihren Wert ersetzen Na ja, wie Du meinst! Verweis_Kuwer.xlsm (Größe: 445,97 KB / Downloads: 7) Gruß Uwe
08.12.2015, 00:46
Hallo Ihr Beiden,
ich kann nur sagen...bin begeistert was Ihr da so herzaubert...vielen Dank!! Und man lernt auch gleich noch etwas dabei! Danke!
08.12.2015, 09:24
08.12.2015, 11:21
Moin Uwe!
Klar, dass einzelne Zellzugriffe so ziemlich das langsamste sind, was man einem Makro antun darf. Mir ging es nur um die Alternative des Hartcodierens der Verweise. Am Rande: Ich hab dann versucht, das Ganze mittels Berechnung im Array nochmal zu beschleunigen. Ist tatsächlich ca. 25% langsamer als Deine Variante (2,5 statt 2 Sek). Kann es sein, dass die Tabellenfunktionen im Sheet schneller laufen??? Code: Private Sub CommandButton1_Click() 'RPP63 Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
08.12.2015, 21:59
Hallo Ralf,
mit einer kleinen Anpassung in Deinem Code kann man noch einmal 0,5 sec einsparen. Statt: Code: Range(Cells(1, 4), Cells(1, 4).End(xlDown)).Offset(0, 2) = .Transpose(.Transpose(Shortcut)) so: Code: Range(Cells(1, 4), Cells(1, 4).End(xlDown)).Offset(0, 2) = Shortcut Das doppelte Transponieren kann entfallen, da die Daten wie eingelesen auch reingeschrieben werden können.
Gruß Atilla
09.12.2015, 07:11
Hallo Attila!
Danke für die Info! Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius) | ||||||||||||||||||||||||||||||||||||||||||||
|