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

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

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

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige