Thema Datum  Von Nutzer Rating
Antwort
Rot Datentrennungsfunktion aus verschiedenen Tabellenblättern aufrufen
16.02.2017 13:58:13 MP
Solved
16.02.2017 14:17:49 MP
Solved

Ansicht des Beitrags:
Von:
MP
Datum:
16.02.2017 13:58:13
Views:
1044
Rating: Antwort:
 Nein
Thema:
Datentrennungsfunktion aus verschiedenen Tabellenblättern aufrufen

Hallo zusammen,

ich bin als VBA Anfänger leider gerade auf ein Problem mit einem aufgezeichneten Makro gestoßen.

Folgendes Makro habe ich in einem Tabellenblatt aufgezeichnet:

Sub LeerzeichenTrennen()
'
' LeerzeichenTrennen Makro
'
    Selection.TextToColumns Destination:=ActiveCell.Offset(0, 1).Range( _
        "Tabelle1[[#Headers],[machine-name]]"), DataType:=xlDelimited, TextQualifier _
        :=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:= _
        False, Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(Array( _
        1, 1), Array(2, 1)), TrailingMinusNumbers:=True
End Sub

Es bewirkt, dass der Inhalt der aktuellen Zelle an Leerzeichen getrennt wird und in die beiden nebenliegenden Zellen aufgeteilt, kopiert wird.

Bei dem Tabellenblatt, in dem das Makro aufgezeichnet wurde, funktioniert es wunderbar. Ich möchte die Funktion allerdings auch aus zahlreichen anderen Tabellenblättern aufrufen.

Ich gehe davon aus, dass das Problem an "Tabelle1" in obigem Code liegt. Das Tabellenblatt aus dem ich es aufgezeichnet habe ist das zweite in meinem Workbook. Wenn ich identischen Vorgang in dem dritten Tabellenblatt als Makro aufzeichne, heißt es im Quellcode "Tabelle1141". Leider ergibt das für mich von der Nummerierung keinen Sinn.

Jetzt meine Frage: ist es möglich in diesem Code statt  "Tabelle..."  irgendwie auf das aktive Tabellenblatt oder auf den Namen eines Tabellenblattes zu referenzieren? Ich habe bereits ausprobiert oben statt "Tabelle..." andere Namen wie "ActiveSheet" oder Worksheets("Name") einzusetzen. Hat leider so nicht funktioniert.

Oder kann man die Range anders festlegen. Bei meinen Daten ist der Offset immer eins nach rechts und die Range sind immer zwei Zellen, da ich immer nur ein Leerzeichen habe.

Schon einmal vielen Dank für eure Antworten =)


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

Thema Datum  Von Nutzer Rating
Antwort
Rot Datentrennungsfunktion aus verschiedenen Tabellenblättern aufrufen
16.02.2017 13:58:13 MP
Solved
16.02.2017 14:17:49 MP
Solved