Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA查找具有数值的所有行并返回列标题_Vba_Excel - Fatal编程技术网

VBA查找具有数值的所有行并返回列标题

VBA查找具有数值的所有行并返回列标题,vba,excel,Vba,Excel,我正在尝试转换一个电子表格,其中包含第2行的日期和第B列的名称。每个人的工作时间都列在“工作日期”下的行中。 我想将其转换为一个新选项卡中的数据行,该选项卡包含以下列:名称、日期、工作小时数 到目前为止,我已经使用VBA提取了所有的名称,并将它们复制到B列中的工作天数(即,如果他们工作了3天,他们的名称将列出3次)。但我仍然需要弄清楚如何将日期和工作时间返回到第二页。第一个图像是原始页面。其次是所需的布局。我处理此问题的方法是执行以下操作: 将源工作表中的相关范围加载到尺寸h x w的数组中。让

我正在尝试转换一个电子表格,其中包含第2行的日期和第B列的名称。每个人的工作时间都列在“工作日期”下的行中。 我想将其转换为一个新选项卡中的数据行,该选项卡包含以下列:名称、日期、工作小时数


到目前为止,我已经使用VBA提取了所有的名称,并将它们复制到B列中的工作天数(即,如果他们工作了3天,他们的名称将列出3次)。但我仍然需要弄清楚如何将日期和工作时间返回到第二页。第一个图像是原始页面。其次是所需的布局。

我处理此问题的方法是执行以下操作:

  • 将源工作表中的相关范围加载到尺寸h x w的数组中。让我们调用数组源(h,w)
  • 此数组应具有以下属性:
  • 左上角的单元格(或源(0,0))不应具有任何相关值
  • 左侧列中的值或source(x,0)中的所有内容都应该是员工的姓名,从第二行开始(如果您使用的是默认的选项Base 0,则该行将是source(1,0))
  • 顶行中的值或源(0,y)中的所有值应为周。同样,您需要从第二列开始(它将位于源代码(0,1)中),因为第一列是空的
  • 数组其余部分中的值是他们工作的天数和小时数
  • 创建一个新数组,第一维长度为h*w,第二维长度为3,并使用此数组存储下一步的结果
  • 现在已经填充了这个数组,可以使用两个嵌套的For循环遍历它,从源(1,1)处的值开始。在该数组中循环时,需要捕获以下值:
  • 来源(x,0)-这是员工姓名
  • 来源(0,y)-这是员工周
  • 来源(x,y)-这是员工工作的天数和小时数
  • 让我知道这是否有用