Thema Datum  Von Nutzer Rating
Antwort
25.08.2021 15:07:48 Justin Kunze
Solved
25.08.2021 16:11:14 Mase
NotSolved
25.08.2021 23:02:31 Justin Kunze
NotSolved
26.08.2021 08:16:28 Mase
NotSolved
26.08.2021 09:32:21 Justin Kunze
NotSolved
26.08.2021 10:05:33 Mase
NotSolved
26.08.2021 11:11:12 Justin
NotSolved
26.08.2021 11:36:14 Mase
NotSolved
27.08.2021 07:48:18 Gast19719
NotSolved
27.08.2021 07:59:06 Mase
NotSolved
26.08.2021 10:00:40 Justin Kunze
NotSolved
Blau Obwohl es oben weitergehen sollte ...
26.08.2021 11:06:40 Mase
NotSolved
26.08.2021 11:28:49 Gast33529
NotSolved

Ansicht des Beitrags:
Von:
Mase
Datum:
26.08.2021 11:06:40
Views:
511
Rating: Antwort:
  Ja
Thema:
Obwohl es oben weitergehen sollte ...

Sheets(...) kannst Du füttern mit dem Tabellenamen(Datentyp=String) oder mit dem Index(Datentyp=Integer).


 

Die Array()-Funktion kann beides aufnehmen/zurückliefern.

Ob du es direkt an Sheets(...) übergibst oder in eine Variant-Variable spielt dabei keine Rolle.

So oder so hat die Array-Funktion() ein Array als Rückgabewert.


 

By the way:

Welchen Datentyp eine Variable oder ein Array zur Laufzeit hält, kannst Du über das lokalen Anzeigefenster beobachten, während die Prozedur noch im Stack liegt ... also entweder via Einzelschritten durchgehen und nach Wertzuweisung reinschauen bzw einen Haltepunkt setzen.

 


Zur veranschaulichung folgende Beispiele:

Option Explicit

Sub Test01()

    Dim v               As Variant
    
    v = Array("Tabelle1", "Tabelle2", "Tabelle3")
    
    Sheets(v).Select
    
    
    'Hilfe: https://docs.microsoft.com/de-de/office/vba/language/reference/user-interface-help/array-function
    
    '*** Hier Datentyp STRING.
    
End Sub

Sub Test02()

    Dim v               As Variant
    
    v = Array(1, 2, 3)
    
    Sheets(v).Select
    
    
    'Hilfe: https://docs.microsoft.com/de-de/office/vba/language/reference/user-interface-help/array-function
    
    '*** Hier Datentyp INTEGER
    
End Sub

Sub Test03()

    Dim s(0 To 2)       As String
    
    s(0) = "Tabelle1"
    s(1) = "Tabelle2"
    s(2) = "Tabelle3"
    
    Sheets(s()).Select
    
    
End Sub


 

Die Split()-Funktion liefert Dir ebenfalls ein Array. Hier ist aber von vornerein klar, dass der Datentyp String sein wird.

Split-Funktion (Visual Basic for Applications) | Microsoft Docs

Deshabl in Deinem Fall auch so nützlich.

 

 


Ihre Antwort
  • 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: Name: Email:



  • 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