[英]VBA Macro not working on French excel
我为我的法国同行建立了一个宏,它似乎不想工作。 我了解有些功能需要更改,例如LEN变为NBCAR(根据我发现的网站)。 完成此操作后,在突出显示NBCAR时会出现错误提示“未定义子或函数”(法语)。 在我的宏版本中,未定义LEN,因此有点令人沮丧。 是否有快速解决方案,也许是一种方法,可以告诉VBA用英语阅读代码?
任何帮助将不胜感激。
谢谢
来自我的英语宏的代码:
Application.ScreenUpdating = False
Dim sh1 As Worksheet, N As Long
Dim st As String
Dim rng1 As Range
Dim rng2 As Range
Dim rng3 As Range
Dim sPath As String
Set sh1 = Sheets("VTR - MASTER")
Dim R As Integer
Dim Z As Range
Dim VTR As String
Dim W As Integer
R = 1
W = 1
VTR = Sheets("VTR - INFO").Range("J1").Value
MsgBox "Select Destination To Save ORT CSV", vbInformation, "Select Destination"
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
.Show
If .SelectedItems.Count > 0 Then
sPath = .SelectedItems(1)
' Filter Merchant ID
MERCHID = sh1.Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To MERCHID
v = sh1.Cells(i, 1).Value
If v <> "" Then
st = st & v & ","
End If
Next i
st = Mid(st, 1, Len(st) - 1)
Arr1 = Split(st, ",")
Sheets("VTR - DATA").Select
Sheets("VTR - DATA").AutoFilterMode = False
With Sheets("VTR - DATA").Range("A:Q")
.AutoFilter Field:=2, Criteria1:=Arr1, Operator:=xlFilterValues
.AutoFilter Field:=1, Criteria1:= _
"<>SOR"
End With
Set rng1 = Application.Intersect(ActiveSheet.UsedRange, Range("F:G,K:L"))
rng1.Offset(1, 0).SpecialCells(xlCellTypeVisible).Copy
Sheets("CSV").Cells(Rows.Count, "A").End(xlUp).Offset(1).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Sheets("VTR - DATA").AutoFilterMode = False
Range("A1").Select
存在缺失的End If
为:
If .SelectedItems.Count > 0
End With
:
With Application.FileDialog(msoFileDialogFolderPicker)
之后,它将编译确定。 (当然它不会运行,因为我没有名称为“ VTR-MASTER”等的工作表。)
如果VBA编辑器通过LEN
类的功能显示错误,请检查菜单“工具-参考”中缺少的参考。 有时缺少引用会使VBA混淆,即使通过内部函数它也会显示错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.