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

Deklarieren von Dateien + Datenblättern

Deklarieren von Dateien + Datenblättern
28.12.2020 21:18:08
Dateien
Hallo zusammen,
ich hab eine Frage zur Deklaration von Datei und Arbeitsblatt. Ich hab ein bissl rumgeschaut und folgendes abgekupfert und in mein Makro eingebaut. Allerdings frag ich mich, ob das nicht ein Schritt zu viel ist.
Möglichkeit 1:
Dim wb As Workbook
Dim dataSheet As Worksheet
dataSheetName = "Daten"
Set dataSheet = wb.Worksheets(dataSheetName)
AnzahlBelegteZellenInSpalte = WorksheetFunction.CountA(dataSheet.Range("A:A"))
dataSheet.Range("A1:O" & AnzahlBelegteZellenInSpalte).Copy
Jetzt frag ich mich, welchen Vorteil es hat, den Teil
dataSheetName = "Daten"
mit einzubauen und im nächsten Schritt dieses wieder umzubenennen, statt geich zu schreieben:
Set dataSheet = wb.Worksheets("Daten").
Hat jemand eine plausible Erklärung? Und warum muss ich das Datenblatt (dataSheet) nicht noch einmal mit .Activate ansprechen?
Besten Dank und Viele Grüße!
Tim

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Deklarieren von Dateien + Datenblättern
28.12.2020 22:05:26
Dateien
Variablen für Sheetnamen verwendet man, z.b. wenn man den Namen nicht mehrfach im Code schreiben möchte und bei Änderung auch mehrfach im Code eingreifen muß. Das ist fehleranfällig.
.Activate benötigt man nur wenn man das Blatt auch ansehen will bzw. darin händisch arbeiten.
Für den Zugriff auf die Zellen wird kein activate oder select benötigt.
Den Umweg über datasheetname brauchst du eigentlich nicht.
Umbenennen tust du da nichts. datasheet ist eine Objektvariable und datasheetname ist eine Textvariable.
gruß
RB
AW: Deklarieren von Dateien + Datenblättern
28.12.2020 22:12:08
Dateien
Da wollte wohl Jemand möglichst viele Variablen "verbrauchen" - so wie du offensichtlich möglichst viele Buchstaben bei Variablennamen "verbrauchen" wolltest).
In

Set dataSheet = wb.Worksheets(dataSheetName)
ist wb zwar deklariert, aber NICHT gesetzt.
Anzeige
AW: Deklarieren von Dateien + Datenblättern
28.12.2020 22:33:18
Dateien
Hi,
vielen Dank für die Antworten! Das hilft mir ;-)
Eine Rückfrage hab ich dennoch:
In
Set dataSheet = wb.Worksheets(dataSheetName)
ist wb zwar deklariert, aber NICHT gesetzt.
>>>
Was heißt deklariert, aber nicht gesetzt? Was hat das für Auswirkungen und wie kann ich das verbessern?
Beste Grueße!
AW: Deklarieren von Dateien + Datenblättern
28.12.2020 22:37:48
Dateien

Dim dataSheet As Worksheet '"dataSheet" wird dimensioniert
Set dataSheet = wb.Worksheets(dataSheetName) "dataSheet" wird gesetzt

Übrigens:
dataSheetName = "Daten"'"dataSheetName" wird gesetzt - wurde jedoch NICHT dimensioniert.

Anzeige
AW: Deklarieren von Dateien + Datenblättern
29.12.2020 08:34:35
Dateien
dim wb as Workbook fehlt. woher soll vba wissen was wb ist?
dim datasheetname as String fehlt auch
lies mal nach über deklarieren , initialisieren, dimensionieren.
um solche fehler zu vermeiden nutzt man "option explicit" auch das solltst du nachlesen.
Wir sind nicht da um dir den Urschleim zu erklären.
beste Grüße
AW: Deklarieren von Dateien + Datenblättern
29.12.2020 11:09:17
Dateien
Wieso schreibst du MIR das?
weil ich dich ärgern wollte......
29.12.2020 12:19:48
ralf_b
.. nee Quatsch der andere Grund.
soory
AW: weil ich dich ärgern wollte......
29.12.2020 12:23:48
onur
Nix passiert - ausserdem wird hier ja der tatsächliche Addressat trotzdem informiert (sowie ALLE anderen irgendwie am Thread Beteiligten). :)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige