Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
15.07.2009 15:48:37 |
Susii |
|
|
|
15.07.2009 15:56:52 |
Murdoc |
|
|
|
15.07.2009 16:06:13 |
Susi |
|
|
|
15.07.2009 16:14:15 |
susi |
|
|
|
15.07.2009 16:39:17 |
jh |
|
|
|
15.07.2009 16:51:57 |
Murdoc |
|
|
Aw:Aw:Aw:Aw:Aw:Aw:VBA Datenaktivierung |
15.07.2009 18:17:38 |
jh |
|
|
|
15.07.2009 16:23:33 |
Murdoc |
|
|
Von:
jh |
Datum:
15.07.2009 18:17:38 |
Views:
887 |
Rating:
|
Antwort:
|
Thema:
Aw:Aw:Aw:Aw:Aw:Aw:VBA Datenaktivierung |
Hallo,
ich will trotzdem mal kurz versuchen zu verdeutlichen, was damit gemeint
ist, dass Aktivieren/Selektieren in VBA meist unnötig ist. Das Problem ist
oft, dass man sich über den Code, den der Makrorecorder aufzeichnet, an
VBA annähert. Das ist zwr nicht die schlechteste Methode, aber der Code,
der dabei produziert wird, ist alles andere als optimal. Zur Verteidigung des
Recorders muss allerdings gesagt werden, dass er gar nicht anders kann.
Wenn du ein Objekt auswählst, kann er ja noch nicht wissen, was du damit
machen willst, also zeichnet er es eben erst mal so auf. So entsteht z. B. die
Befehlsfolge
Windows("Mappe1.xls").Activate
Sheets("Tabelle2").Select
Range("A1:A10").Select
Selection.Copy
Windows("Mappe2.xls").Activate
Sheets("Tabelle1").Select
Range("B1").Select
ActiveSheet.Paste
Das lässt sich zu einer einzigen Befehlszeile zusammenfassen:
Workbooks("Mappe1.xls").Worksheets( _
"Tabelle2").Range("A1:A10").Copy _
Destination:=Workbooks("Mappe2.xls") _
.Worksheets("Tabelle1").Range("B1")
Durch Verwendung von Objektvariablen wird es übersichtlicher:
Dim wksQuelle As Worksheet, wksZiel As Worksheet
Set wksQuelle = Workbooks("Mappe1.xls").Worksheets("Tabelle2")
Set wksZiel = Workbooks("Mappe2.xls").Worksheets("Tabelle1")
wksQuelle.Range("A1:A10").Copy Destination:=wksZiel.Range("B1")
Alles klar? ;-)
Gruß
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
15.07.2009 15:48:37 |
Susii |
|
|
|
15.07.2009 15:56:52 |
Murdoc |
|
|
|
15.07.2009 16:06:13 |
Susi |
|
|
|
15.07.2009 16:14:15 |
susi |
|
|
|
15.07.2009 16:39:17 |
jh |
|
|
|
15.07.2009 16:51:57 |
Murdoc |
|
|
Aw:Aw:Aw:Aw:Aw:Aw:VBA Datenaktivierung |
15.07.2009 18:17:38 |
jh |
|
|
|
15.07.2009 16:23:33 |
Murdoc |
|
|