我在excel vba中的列中搜索特殊字符时遇到问题。 我使用like运算符如下:
If Sheets("Eclipse Report").Cells(j, k).Value Like "*[%, !, *, ;, :, ~, °, ß, ö , ô, ó, ò, Ç, ü, é, â, ä , à, å, ç, ê, ë, è, ï, î, ì, æ, Æ, ô, ö, ò, û, ù, ÿ, ¢, £, ¥, ƒ, á, í, ó, ú, ñ, Ñ, °, o, ·, ², €, Ÿ, ©, ®, À, Á, Â, Ã, Ä, Å, È, É, Ê, Ë, Ì, Í, Î, Ï, Ð, Ò, Ó, Ô, Õ, Ö, ×, Ø, Ù, Ú, Û, Ü, Ý, Þ, ã, ð, õ]*" Then
Sheets("Eclipse Report").Rows(j).Select
'Sheets("Eclipse Report").Rows(j).Copy
'Sheets("Sheet3").Select
'Sheets("Sheet3").Paste
Selection.Copy
Sheets("Sheet3").Select
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Rows(j).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-30
Rows(j).Select
ActiveSheet.Paste
'Sheets("Sheet3").Select
'Sheets("Sheet3").Paste
'MsgBox ("special record found and pasted")
Exit For
End If
代码找不到我预期的记录。
答案 0 :(得分:1)
从字符列表中删除空格后,它通过了我的测试。
web.setWebViewClient(new WebViewClient() {
//Opens all the Clicked Links in App itself.. (No Opera/Browser/Chrome/Uc popup)
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
//Shows a Dialog when there is an Error
@Override
public void onReceivedError(WebView view, int errorcode,String description, String fallingUrl) {
Toast.makeText(getActivity(),"NetWork Error", Toast.LENGTH_SHORT).show();
}
//Showing ProgressBar when Page is Loading
@Override
public void onPageStarted(WebView view,String url , Bitmap favicon){
ProgressDialog pd = new ProgressDialog(getActivity());
pd.setMessage("Loading...");
pd.show();
}
//Hiding ProgressBar when Loading Finished
public void onPageFinished(WebView view,String Url){
pd.dismiss();
}
});
更新:正如共产国际所说,逗号也没有必要。
答案 1 :(得分:1)
Like
类似模式的问题在于括号中的字符列表没有分隔符。因此,要匹配a
,x
和z
,您需要使用[axz]
,而不是[a, x, z]
。第二种模式将匹配a
,x
,z
,,
和空格。
因此,您正在寻找的模式是:
Like "*[%!*;:~°ßöôóòÇüéâäàåçêëèïîìæÆôöòûùÿ¢£¥ƒáíóúñÑ°o·²€Ÿ©®ÀÁÂÃÄÅÈÉÊËÌÍÎÏÐÒÓÔÕÖ×ØÙÚÛÜÝÞãðõ]*"
但请注意,Like
对区域设置和文本比较选项很敏感(请参阅MS documentation)。
就个人而言,我考虑使用VScript RegExp - 它们更易于使用,并且具有更多的模式灵活性。