Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Texttocolumns in freigegebener Mappe

Forumthread: Texttocolumns in freigegebener Mappe

Texttocolumns in freigegebener Mappe
otto
Hallo zusammen,
bisher habe ich mit Excel XP gearbeitet.
Dort hatte ich ein freigegebenes Workbook, in der per Makro die Texttocolumns-Methode angewendet wird.
Dies funktionierte auch im Freigabemodus problemlos.
Mit Excel 2010 kommt aber nun eine Fehlermeldung, dass die Texttocolumns-Methode nicht mehr ausgeführt werden kann.
Hier mein Code (der bisher funktionierte):

Range("B58").Select
Selection.TextToColumns Destination:=Range("B58"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
Semicolon:=True, Comma:=True, Space:=True, Other:=False, FieldInfo:= _
Array(Array(1, 1), Array(2, 1), Array(3, 1)), TrailingMinusNumbers:=True
Ich freue mich auf eure Vorschläge.
otto
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Texttocolumns in freigegebener Mappe
07.05.2012 18:17:51
Tino
Hallo,
kannst mal so versuchen.
Weil ich xl2007 habe, habe ich dies jetzt nicht getestet.
Dim VarValue
With Range("B58")
    VarValue = Replace(, ",", vbTab)
    VarValue = Replace(VarValue, ";", vbTab)
    VarValue = Replace(VarValue, " ", vbTab)
    Do While InStr(VarValue, vbTab & vbTab) > 0
        VarValue = Replace(VarValue, vbTab & vbTab, vbTab)
    Loop
    If Right$(VarValue, 1) = vbTab Then VarValue = Left$(VarValue, Len(VarValue))
    If Left(VarValue, 1) = vbTab Then VarValue = Right$(VarValue, Len(VarValue) - 1)
    VarValue = Split(VarValue, vbTab)
    
    .Resize(, Ubound(VarValue) + 1) = VarValue
End With
Gruß Tino
Anzeige
Korrektur, .Value vergessen! ...
07.05.2012 18:21:37
Tino
Hallo,
Dim VarValue
With Range("B58")
    VarValue = Replace(.Value, ",", vbTab)
    VarValue = Replace(VarValue, ";", vbTab)
    VarValue = Replace(VarValue, " ", vbTab)
    Do While InStr(VarValue, vbTab & vbTab) > 0
        VarValue = Replace(VarValue, vbTab & vbTab, vbTab)
    Loop
    If Right$(VarValue, 1) = vbTab Then VarValue = Left$(VarValue, Len(VarValue))
    If Left(VarValue, 1) = vbTab Then VarValue = Right$(VarValue, Len(VarValue) - 1)
    VarValue = Split(VarValue, vbTab)

    .Resize(, Ubound(VarValue) + 1) = VarValue

End With
sorry
Gruß Tino
Anzeige
AW: Korrektur, .Value vergessen! ...
08.05.2012 07:13:26
otto
Hi,
danke für die Antwort.
Funktioniert aber leider nicht.
Zum einen fehlten vor Replace die Punkte, zum anderen kann man bei Replace (so weit ich weiß?) nicht 3 Argumente eingeben.
Es kommt jedes mal eine Fehlermeldung.
Ich hatte es zum testen folgendermaßen abgeändert:
With Range("B58")
VarValue = .Replace(",", vbTab)
VarValue = .Replace(";", vbTab)
VarValue = .Replace(" ", vbTab)
Do While VBA.InStr(VarValue, vbTab & vbTab) > 0
VarValue = Replace(VarValue, vbTab & vbTab, vbTab)
Loop
If VBA.Right$(VarValue, 1) = vbTab Then VarValue = VBA.Left$(VarValue, VBA.Len(VarValue))
If VBA.Left(VarValue, 1) = vbTab Then VarValue = VBA.Right$(VarValue, VBA.Len(VarValue) - 1) _
VarValue = Split(VarValue, vbTab)
Resize(, UBound(VarValue) + 1) = VarValue
End With
Leider steht in meiner Zelle dann nur "WAHR" drin.
Vielleicht hat noch jemand eine Idee.
otto
Anzeige
AW: Korrektur, .Value vergessen! ...
08.05.2012 07:51:23
Tino
Hallo,
nee, nee war schon richtig so.
Evtl. fehlerhafter Verweis, sonst brauchst du nicht VBA. davor setzen!
Gruß Tino
Danke, Danke
08.05.2012 08:35:03
otto
Hi,
sorry, hatte wahrscheinlich einen Punkt vergessen?!
Funzt super, auch im Freigabemodus.
Kannst dir ein (virtuelles) Bier auf meine Kosten einlassen.
Besten Dank nochmal
otto
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige