07.12.2015, 19:53
Seiten: 1 2
07.12.2015, 19:56
Hi Ralf,
hättest Du mir ein Beispiel bzgl. einer Verweistabelle und wie man darauf zugreift?
hättest Du mir ein Beispiel bzgl. einer Verweistabelle und wie man darauf zugreift?
07.12.2015, 21:35
Hallo Erich!
Das Makro befindet sich in Tabelle1 ("Test"), da über einen CommandButton gestartet wird.
Microsoft Excel Objekt Tabelle1
Siehe Datei!
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Ralf
Das Makro befindet sich in Tabelle1 ("Test"), da über einen CommandButton gestartet wird.
Microsoft Excel Objekt Tabelle1
Option Explicit
Private Sub CommandButton1_Click()
Dim Zelle As Range
For Each Zelle In Tabelle1.Columns("D").SpecialCells(xlCellTypeConstants)
With Tabelle2 'Verweistabelle
Zelle.Offset(0, 2) = _
WorksheetFunction.Index(.Columns("B"), WorksheetFunction.Match(Zelle, .Columns("A")))
End With
Next
End Sub
Siehe Datei!
D | E | F | |
1 | Po | Pofrcywebh | |
2 | At | Atvdxuzdtw | |
3 | Lz | Lzykeijkte | |
4 | Kk | Kktjnxktum | |
5 | Xh | Xhoaicbjzu | |
6 | Aa | Aahamraced | |
7 | Ju | Jurjsugdob | |
8 | At | Atvdxuzdtw | |
9 | Sw | Swfabqsgca | |
10 | Yz | Yzcavazgds |
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Ralf
07.12.2015, 23:07
(07.12.2015, 17: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!
[attachment=3498]
Gruß Uwe
07.12.2015, 23: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!
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, 08:24
Hi Uwe,
der Unterschied ist schon 'ne Hausnummer.
Super!
(07.12.2015, 23:07)Kuwer schrieb: [ -> ]Na ja, wie Du meinst!
der Unterschied ist schon 'ne Hausnummer.
Super!
08.12.2015, 10: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???
Gruß Ralf
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
Dim Shortcut, Verweis As Range
Dim dblDauer As Double, cnt As Long
dblDauer = Timer
Columns(6).ClearContents
Shortcut = Range(Cells(1, 4), Cells(1, 4).End(xlDown)).Value
Set Verweis = Tabelle2.Range("A1:B10")
With WorksheetFunction
For cnt = 1 To UBound(Shortcut)
Shortcut(cnt, 1) = .Lookup(Shortcut(cnt, 1), Verweis)
Next
Range(Cells(1, 4), Cells(1, 4).End(xlDown)).Offset(0, 2) = .Transpose(.Transpose(Shortcut))
End With
dblDauer = Timer - dblDauer
MsgBox dblDauer
End Sub
Gruß Ralf
08.12.2015, 20:59
Hallo Ralf,
mit einer kleinen Anpassung in Deinem Code kann man noch einmal 0,5 sec einsparen.
Statt:
so:
Das doppelte Transponieren kann entfallen, da die Daten wie eingelesen auch reingeschrieben werden können.
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.
09.12.2015, 06:11
Hallo Attila!
Danke für die Info!
Gruß Ralf
Danke für die Info!
Gruß Ralf
Seiten: 1 2