完成代码 – VBAfunction跳过空白单元格,并开始一个过程,每当它出现在文本

我有一个电子表格,在列A中有广泛的组,然后在列B中有特定的数据点(在这些特定的行中有更多的数据)。 它看起来非常粗略,如下所示:

ABCDEF Group Name Weight Gross Net Contribution Equity 25% 10% 8% .25 IBM 5% 15% 12% AAPL 7% 23% 18% Fixed Income 25% 5% 4% .17 10 Yr Bond 10% 7% 5% Emerging Mrkts 

我希望我的macros在列A中滚动,直到find一个“Group”(例如Equity),然后让它为每个组中的每个特定的控件输出名称以及其他一些数据。

我已经开始写这个macros,并有一个程序(工作)和一个函数。 但是我不能得到这个function。 你可以看看,并告诉我你看错了什么? 谢谢

这是我的代码:

 Sub Demo1() Dim Ptr As Integer Ptr = 12 ActiveSheet.Cells(1, Ptr).Select Dim Wb As Workbook Set Wb = ThisWorkbook Dim Wb2 As Workbook For Each Wb2 In Application.Workbooks Wb2.Activate Next Set Wb2 = ActiveWorkbook ' Set Wb = ActiveWorkbook Wb.Activate 'Sheets("Attribution").Select ActiveSheet.Cells(Ptr, 2).Select Selection.Copy ' Sheets("F2 perf Chart").Range("E7") = ActiveSheet.Cells(12, 2).Value 'Set Wb2 = ActiveWorkbook Wb2.Activate ActiveSheet.Cells(1, Ptr).Select Wb2.Sheets("F2 perf Chart").Range("E7").Select ActiveSheet.Paste Set Wb = ActiveWorkbook Range("M12").Copy Set Wb2 = ActiveWorkbook Wb2.Sheets("F2 perf Chart").Range("F7").Select ActiveSheet.Paste Set Wb = ActiveWorkbook Range("D12").Copy Set Wb2 = ActiveWorkbook Wb2.Sheets("F2 perf Chart").Range("G7").Select ActiveSheet.Paste End Sub 

而对于function:

 Function NumBlankCells(Rownum As Integer) As Integer Dim RetVar As Integer Set RetVar = 0 Dim rRng As Object rRng = Sheets("Attribution").Cells(Rownum + 1, 1) While IsEmpty(rRng.Value) RetVar = RetVar + 1 rRng = Sheets("Attribution").Cells(Rownum + RetVar + 1, 1) Loop MsgBox RetVar NumBlankCells = RetVar End Function 

编辑:

所以,工作簿1(“Attribution”)是从程序中导出的所有数据。 工作簿2(“F2 perf chart”)是一个模板,我用它自行填充季度报告中使用的图表。 我试图拉的一个数据子集的例子是名称,权重,然后是净收益(“IBM,5%,12%”) – 然后我将它粘贴到工作簿2中, (“IBM,12%,5%”)。 我试图让这个运行,并复制粘贴每个数据点下的名称列,我的function是试图使用每个组之间的空格,告诉自己,它应该跳过这些空白行。