タイトルはすべてです。私はこの短いコードをウェブサイトのURLを試してみるために書いた。しかし、何らかの理由で私がたくさん使ってきたこの種のテンプレートは、コードに直接呼び出された唯一のセルであるB2へのロイヤルトリートメントを与えるだけで、今度は私にはうまくいかなかった。私はデバッグをうまくやって、うまくいきません。エラーがないと、問題の内容を識別することが難しくなります。あなたの誰かがここで何が起こっているかを見ることができるなら、私に知らせてください。私のコードは、その最初のセルに設定されています。他のセルはありません
Sub Website()
Application.ScreenUpdating = False
Range("B2").Select
Dim TitleString As Range, cel As Range
Set TitleString = ActiveCell
Do Until IsEmpty(ActiveCell)
For Each cel In TitleString
If InStr(1, cel.Value, "https://") > 0 Then '
Selection.Replace What:="https://", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End If
If InStr(1, cel.Value, "http://") > 0 Then
Selection.Replace What:="http://", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End If
If InStr(1, cel.Value, "/") > 0 Then
Selection.Replace What:="/*", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End If
If InStr(1, cel.Value, "www.") > 0 Then
Exit For
ElseIf InStr(1, cel.Value, "www.") = 0 Then
ActiveCell.Value = "www." & ActiveCell.Value
Exit For
End If
Next cel
ActiveCell.Offset(1, 0).Select
Loop
Application.ScreenUpdating = True
End Sub
ActiveCellが自身で問題になる可能性が使用して...のhttp://stackoverflow.com/questions/10714251/how-to-avoid-use-select-in-excel-vba-macros – Rdster
@Rdster私はそれが問題になるかもしれないと聞きましたが、私のデータセットの範囲は1,000から500k +です。これは、500kをオフにした配列が、アクティブなセルで各オブジェクトを実行するこのような処理よりも処理に時間がかかるようです。私は間違っているかもしれません。 –
選択の使用は常に遅くなります。 –