• ベストアンサー

置換する場合も最高文字数は何文字ですか?

エクセルvbaで置換する場合も最高文字数は何文字ですか? と言うのも、 Cells(1, 1).Replace What:=mystr, Replacement:="", LookAt:=xlPart で、mystrは260文字なのですが、これを実行しようとすると 型が一致しません。(Error 13) と言うエラーになるのですが、 これは変数に格納されている文字数が多いせいか、他のエラーなのかわからないのですが 文字制限ってあるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.4

こんばんは、置換に代わりInStr関数で行ってみました、参考に With Cells(1, 1)   n = InStr(.Value, mystr)   If n > 0 Then .Characters(n, Len(mystr)).Delete End With

iwbtsujvtfm
質問者

お礼

どうもありがとうございました。

その他の回答 (3)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

訂正です Cells(1, 1).Value = Replace(rangestr, mystr, "") ↓ Cells(1, 1).Value = Replace(myRangestr, mystr, "")

iwbtsujvtfm
質問者

お礼

どうもありがとうございました。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

一度セルの内容を変数に代入して置換して書き戻してはいかがでしょう Sub Sample() Dim mystr As Variant Dim myRangestr As Variant myRangestr = Cells(1, 1).Value Cells(1, 1).Value = Replace(rangestr, mystr, "") End Sub

iwbtsujvtfm
質問者

お礼

どうもありがとうございました。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

テストしてみました Sub test() Dim mystr As Variant Dim i As Integer mystr = "w" For i = 1 To 254 mystr = mystr + "W" Debug.Print Len(mystr) Next i Cells(1, 1).Replace What:=mystr, Replacement:="", LookAt:=xlPart End Sub 254を255にするとエラーになるので、255文字が限界のようですね。

iwbtsujvtfm
質問者

お礼

テストありがとうございます。 255ですね。納得しました。