2016-08-01 3 views
2

のためのExcelをクラッシュし。コードに問題がありますか?またはExcelの設定を変更する必要がありますか?VBのコードは、これは私のVBAコードです〜40kのデータセット

+6

[HTMLを解析するために正規表現を使用しないでください(またはそれを処理する)](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self -contained-tags/1732454#1732454)。おそらくHTMLをHTMLFileオブジェクトにロードして、ドキュメントオブジェクトの '.innerText'を返すほうがよいでしょう。 –

+0

'Selection.Replace" <*> "、" "'を試してください – Slai

答えて

1

私の推測では、Excelはテキストをセルに書き戻そうとしている間に痛いです。

  • むしろ.Valueより使用.Value2生の値で動作するように:ここ あなたが試すことができます物事のカップルです。
  • テキストの前に単一引用符を追加します。これは表示されませんが、テキスト形式を保証します
  • 改行を処理するために貪欲ではなくパターンではなく、パターンを使用してください。
Sub RemoveTags() 
    Dim values(), r As Long, c As Long, re As Object 

    ' load the values in an array 
    values = Selection.Value2 

    ' create the regex 
    Set re = CreateObject("vbscript.regexp") 
    re.pattern = "<[^>]*>" 
    re.Global = True 

    ' remove the tags for each value 
    For r = 1 To UBound(values, 1) 
     For c = 1 To UBound(values, 2) 
      values(r, c) = "'" & re.replace(values(r, c), vbNullString) 
     Next 
    Next 

    ' write the values back to the sheet 
    Selection.Value2 = values 
End Sub 
関連する問題