这是我现在的代码:
Sub copy_paste()
Worksheets(1).Activate
Dim ch As Long
Dim c As Variant
Dim d As Variant
Dim v As Range
Dim w As Range
Dim brow As Long
Dim crow As Long
Dim cc As Variant
Set w = Sheets(1).Range("E:E")
brow = w(w.Cells.Count).End(xlUp).Row
Set w = Range(w(2), w(brow))
Set v = Sheets(1).Range("G:G")
brow = v(v.Cells.Count).End(xlUp).Row
Set v = Range(v(2), v(brow))
For Each c In v
For Each d In w
d = d.Text
bbv1 = " QR "
bbv2 = " HCPI "
If InStr(1, d, "mini") Then
c = Mid(c, 1, 5) & " <INDEX>" & bbv2 '& c.Offset(0, 3)
'Debug.Print (c)
ElseIf InStr(1, d, "ix") Then
'Debug.Print (c)
c = Mid(c, 1, 4) & " <INDEX>" & bbv2
'Debug.Print (c)
Else
c = Mid(c, 1, 4) & " <CMDTY>" & bbv2
'Debug.Print (c)
End If
Debug.Print (c)
Next d
Next c
End Sub
产生此输出:
Edz5 <CMDTY> HCPI
Edz5 <CMDTY> HCPI
Edz5 <INDEX> HCPI
Edz5 <INDEX> HCPI
Edz5 <INDEX> HCPI
Edz5 <INDEX> HCPI
Edz5 <CMDTY> HCPI
Edz5 <CMDTY> HCPI
Edz5 <CMDTY> HCPI
Edz5 <CMDTY> HCPI
Edz5 <CMDTY> HCPI
Edz5 <CMDTY> HCPI
Edz5 <CMDTY> HCPI
Hcn5 <CMDTY> HCPI
Hcn5 <CMDTY> HCPI
Hcn5 <INDEX> HCPI
Hcn5 <INDEX> HCPI
Hcn5 <INDEX> HCPI
Hcn5 <INDEX> HCPI
Hcn5 <CMDTY> HCPI
Hcn5 <CMDTY> HCPI
Hcn5 <CMDTY> HCPI
Hcn5 <CMDTY> HCPI
Hcn5 <CMDTY> HCPI
Hcn5 <CMDTY> HCPI
Hcn5 <CMDTY> HCPI
Mesu <CMDTY> HCPI
Mesu <CMDTY> HCPI
Mesu <INDEX> HCPI
Mesu <INDEX> HCPI
Mesu <INDEX> HCPI
Mesu <INDEX> HCPI
Mesu <CMDTY> HCPI
Mesu <CMDTY> HCPI
Mesu <CMDTY> HCPI
Mesu <CMDTY> HCPI
Mesu <CMDTY> HCPI
Mesu <CMDTY> HCPI
Mesu <CMDTY> HCPI
Ptu5 <CMDTY> HCPI
Ptu5 <CMDTY> HCPI
Ptu5 <INDEX> HCPI
Ptu5 <INDEX> HCPI
Ptu5 <INDEX> HCPI
Ptu5 <INDEX> HCPI
Ptu5 <CMDTY> HCPI
Ptu5 <CMDTY> HCPI
Ptu5 <CMDTY> HCPI
Ptu5 <CMDTY> HCPI
Ptu5 <CMDTY> HCPI
Ptu5 <CMDTY> HCPI
Ptu5 <CMDTY> HCPI
Rtau <CMDTY> HCPI
Rtau <CMDTY> HCPI
Rtau <INDEX> HCPI
Rtau <INDEX> HCPI
Rtau <INDEX> HCPI
Rtau <INDEX> HCPI
Rtau <CMDTY> HCPI
Rtau <CMDTY> HCPI
Rtau <CMDTY> HCPI
Rtau <CMDTY> HCPI
Rtau <CMDTY> HCPI
Rtau <CMDTY> HCPI
Rtau <CMDTY> HCPI
Smu5 <CMDTY> HCPI
Smu5 <CMDTY> HCPI
Smu5 <INDEX> HCPI
Smu5 <INDEX> HCPI
Smu5 <INDEX> HCPI
Smu5 <INDEX> HCPI
Smu5 <CMDTY> HCPI
Smu5 <CMDTY> HCPI
Smu5 <CMDTY> HCPI
Smu5 <CMDTY> HCPI
Smu5 <CMDTY> HCPI
Smu5 <CMDTY> HCPI
Smu5 <CMDTY> HCPI
Tyu5 <CMDTY> HCPI
Tyu5 <CMDTY> HCPI
Tyu5 <INDEX> HCPI
Tyu5 <INDEX> HCPI
Tyu5 <INDEX> HCPI
Tyu5 <INDEX> HCPI
Tyu5 <CMDTY> HCPI
Tyu5 <CMDTY> HCPI
Tyu5 <CMDTY> HCPI
Tyu5 <CMDTY> HCPI
Tyu5 <CMDTY> HCPI
Tyu5 <CMDTY> HCPI
Tyu5 <CMDTY> HCPI
Ubu5 <CMDTY> HCPI
Ubu5 <CMDTY> HCPI
Ubu5 <INDEX> HCPI
Ubu5 <INDEX> HCPI
Ubu5 <INDEX> HCPI
Ubu5 <INDEX> HCPI
Ubu5 <CMDTY> HCPI
Ubu5 <CMDTY> HCPI
Ubu5 <CMDTY> HCPI
Ubu5 <CMDTY> HCPI
Ubu5 <CMDTY> HCPI
Ubu5 <CMDTY> HCPI
Ubu5 <CMDTY> HCPI
Vgu5 <CMDTY> HCPI
Vgu5 <CMDTY> HCPI
Vgu5 <INDEX> HCPI
Vgu5 <INDEX> HCPI
Vgu5 <INDEX> HCPI
Vgu5 <INDEX> HCPI
Vgu5 <CMDTY> HCPI
Vgu5 <CMDTY> HCPI
Vgu5 <CMDTY> HCPI
Vgu5 <CMDTY> HCPI
Vgu5 <CMDTY> HCPI
Vgu5 <CMDTY> HCPI
Vgu5 <CMDTY> HCPI
Wnu5 <CMDTY> HCPI
Wnu5 <CMDTY> HCPI
Wnu5 <INDEX> HCPI
Wnu5 <INDEX> HCPI
Wnu5 <INDEX> HCPI
Wnu5 <INDEX> HCPI
Wnu5 <CMDTY> HCPI
Wnu5 <CMDTY> HCPI
Wnu5 <CMDTY> HCPI
Wnu5 <CMDTY> HCPI
Wnu5 <CMDTY> HCPI
Wnu5 <CMDTY> HCPI
Wnu5 <CMDTY> HCPI
Xbu5 <CMDTY> HCPI
Xbu5 <CMDTY> HCPI
Xbu5 <INDEX> HCPI
Xbu5 <INDEX> HCPI
Xbu5 <INDEX> HCPI
Xbu5 <INDEX> HCPI
Xbu5 <CMDTY> HCPI
Xbu5 <CMDTY> HCPI
Xbu5 <CMDTY> HCPI
Xbu5 <CMDTY> HCPI
Xbu5 <CMDTY> HCPI
Xbu5 <CMDTY> HCPI
Xbu5 <CMDTY> HCPI
Xmu5 <CMDTY> HCPI
Xmu5 <CMDTY> HCPI
Xmu5 <INDEX> HCPI
Xmu5 <INDEX> HCPI
Xmu5 <INDEX> HCPI
Xmu5 <INDEX> HCPI
Xmu5 <CMDTY> HCPI
Xmu5 <CMDTY> HCPI
Xmu5 <CMDTY> HCPI
Xmu5 <CMDTY> HCPI
Xmu5 <CMDTY> HCPI
Xmu5 <CMDTY> HCPI
Xmu5 <CMDTY> HCPI
Z u5 <CMDTY> HCPI
Z u5 <CMDTY> HCPI
Z u5 <INDEX> HCPI
Z u5 <INDEX> HCPI
Z u5 <INDEX> HCPI
Z u5 <INDEX> HCPI
Z u5 <CMDTY> HCPI
Z u5 <CMDTY> HCPI
Z u5 <CMDTY> HCPI
Z u5 <CMDTY> HCPI
Z u5 <CMDTY> HCPI
Z u5 <CMDTY> HCPI
Z u5 <CMDTY> HCPI
这是我在细胞E1:G14
中的数据Issue Name Ticker
F/c 90day euro$ futr dec15 Edz5 xcme
F/c h-shares idx fut jul15 Hcn5 xhkf
F/c mini msci emg mkt sep15 Mesu5ifus
F/c s&p/tsx 60 ix fut sep15 Ptu5 xmod
F/c russell 2000 mini sep15 Rtau5ifus
F/c swiss mkt ix futr sep15 Smu5 xeur
F/c us 10yr note(cbt) sep15 Tyu5 xcbt
F/c euro buxl 30y bnd sep15 Ubu5 xeur
F/c euro stoxx 50 sep15 Vgu5 xeur
F/c us ultra bond(cbt sep15 Wnu5 xcbt
F/c gasoline rbob fut sep15 Xbu5 xnym
F/c aust 10yr bond fut sep 15 Xmu5 xsfe
F/c ftse 100 idx fut sep15 Z u5 ifll
但这就是我想要的输出:
Edz5 <CMDTY> HCPI
Hcn5 <INDEX> HCPI
Mesu5 <INDEX> HCPI
Ptu5 <INDEX> HCPI
Rtau5 <INDEX> HCPI
Smu5 <INDEX> HCPI
Tyu5 <CMDTY> HCPI
Ubu5 <CMDTY> HCPI
Vgu5 <CMDTY> HCPI
Wnu5 <CMDTY> HCPI
Xbu5 <CMDTY> HCPI
Xmu5 <CMDTY> HCPI
Z u5 <CMDTY> HCPI
我尝试在每个if语句之后添加Next c
,但这不起作用。
答案 0 :(得分:1)
我认为你需要做的就是在每个If语句中使用“exit For”,这样如果找到匹配或“true”,它将退出for而不再对比内部D循环。您可能还必须在下一个循环开始之前或之前将打印命令更改为此出口之前。
For Each c In v
For Each d In w
d = d.Text
bbv1 = " QR "
bbv2 = " HCPI "
If InStr(1, d, "mini") Then
c = Mid(c, 1, 5) & " <INDEX>" & bbv2 '& c.Offset(0, 3)
Debug.Print (c)
Exit For
ElseIf InStr(1, d, "ix") Then
'Debug.Print (c)
c = Mid(c, 1, 4) & " <INDEX>" & bbv2
Debug.Print (c)
Exit For
Else
c = Mid(c, 1, 4) & " <CMDTY>" & bbv2
Debug.Print (c)
Exit For
End If
'Debug.Print (c)
Next d
Next c