Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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
Excel lls(第16行,k,1))=真或中(单元格(第16行,k,1)=“那么 GetDiam=GetDiam和Mid(单元格(第16行),k,1) 如果结束 下一个k GetDiam_Val=Val(GetDiam) 直径2ft=GetDiam_Val/12 ActiveSheet.Cells(行+1,39).Value=GetElev-Diam2Ft 其他的 ActiveSheet.Cells(第1行,第39行).Value=ActiveSheet.Cells(第4行).Value 如果结束 如果结束 下一排 '--------------------------------------------------------------------------------------- “准备工作表重新组织,必须是下一步,以便从之前的流程中获得更改的数据 对于行=1到ActiveSheet.UsedRange.Rows.Count 如果IsEmpty(ActiveSheet.Cells(行,1.Value)=True,则 退出 如果结束 ”“是的 ActiveSheet.Cells(行+1,44).Value=ActiveSheet.Cells(行,1.Value) “描述 ActiveSheet.Cells(行+1,40).Value=ActiveSheet.Cells(行,5).Value '轮辋高度 如果ActiveSheet.Cells(第5行)值为“排水口”或ActiveSheet.Cells(第5行)。值为“沟渠”,则 ActiveSheet.Cells(行+1,41).Value=ActiveSheet.Cells(行,4).Value 如果结束 'X位置 ActiveSheet.Cells(第1行,第42行)。Value=ActiveSheet.Cells(第3行)。Value “Y位置 ActiveSheet.Cells(行+1,43).Value=ActiveSheet.Cells(行,2).Value 下一排 '--------------------------------------------------------------------------------------- '重新组织工作表 对于行=1到ActiveSheet.UsedRange.Rows.Count+1 如果IsEmpty(ActiveSheet.Cells(行,1.Value)=True,则 如果IsEmpty(ActiveSheet.Cells(第44行).Value)=True,则 退出 如果结束 ElseIf CountIt=1,则 ActiveSheet.Cells(第1行)。Value=“ID” ActiveSheet.Cells(第2行)。Value=“DESC.” ActiveSheet.Cells(第3行)。Value=“RIM ELEV。” ActiveSheet.Cells(第4行)。Value=“YR\u INST” ActiveSheet.Cells(第5行)。Value=“YR\u RETIRE” ActiveSheet.Cells(第6行)。Value=“区域” ActiveSheet.Cells(第7行)。Value=“阶段” ActiveSheet.Cells(第8行)。Value=“存货标高。” ActiveSheet.Cells(第9行)。Value=“DEPTH\u RIM” ActiveSheet.Cells(第10行)。Value=“INIT\u DPTH” ActiveSheet.Cells(第11行)。Value=“SURG\u DPTH” ActiveSheet.Cells(第12行)。Value=“池塘面积” ActiveSheet.Cells(第13行)。Value=“FLOOD\u TYP” ActiveSheet.Cells(第14行)。Value=“SD\u COEFF” ActiveSheet.Cells(第15行)。Value=“已选定” ActiveSheet.Cells(第16行)。Value=“符号” ActiveSheet.Cells(第17行)。Value=“SYMSIZE” ActiveSheet.Cells(第18行)。Value=“X” ActiveSheet.Cells(第19行)。Value=“Y” ActiveSheet.Cells(第20行)。Value=“Z” ActiveSheet.Cells(第21行).Value=“SD\U网格” CountIt=CountIt+1 其他的 ActiveSheet.Cells(第1行).Value=ActiveSheet.Cells(第44行).Value ActiveSheet.Cells(第2行).Value=ActiveSheet.Cells(第40行).Value ActiveSheet.Cells(第3行).Value=ActiveSheet.Cells(第41行).Value ActiveSheet.Cells(第4行)。Value=“” ActiveSheet.Cells(第5行)。Value=“” ActiveSheet.Cells(第6行)。Value=“” ActiveSheet.Cells(第7行)。Value=“” ActiveSheet.Cells(第8行).Value=ActiveSheet.Cells(第39行).Value ActiveSheet.Cells(第9行)。Value=“” ActiveSheet.Cells(第10行)。Value=“” ActiveSheet.Cells(第11行)。Value=“” ActiveSheet.Cells(第12行)。Value=“” ActiveSheet.Cells(第13行)。Value=“” ActiveSheet.Cells(第14行)。Value=“” ActiveSheet.Cells(第15行)。Value=“” ActiveSheet.Cells(第16行)。Value=“” ActiveSheet.Cells(第17行)。Value=“” ActiveSheet.Cells(第18行).Value=ActiveSheet.Cells(第42行).Value ActiveSheet.Cells(第19行).Value=ActiveSheet.Cells(第43行).Value ActiveSheet.Cells(第20行).Value=ActiveSheet.Cells(第41行).Value ActiveSheet.Cells(第21行)。Value=“” 对于CountTheme=22到44 ActiveSheet.Cells(行,计数)。Value=“” 接下来数一数 如果结束 下一排 '--------------------------------------------------------------------------------------- '将转换后的文件另存为.CSV MsgBox“为.CSV文件选择所需的保存位置。” Dim InitialName作为字符串 变暗路径名作为变量 将ws设置为工作表 设置ws=ThisWorkbook.Worksheets(“Sheet1”) InitialName=“sfm\U输出” 路径名=应用程序.GetSaveAsFilename(初始文件名:=初始名称,文件筛选器:=“CSV(逗号分隔)(*.CSV),*.CSV”) ws.Copy ActiveWorkbook.SaveAs文件名:=路径名_ FileFormat:=xlCSV,CreateBackup:=False MsgBox“进程成功完成”。&vbNewLine&“文件保存到:”&vbNewLine&PathName '--------------------------------------------------------------------------------------- '关闭所有工作簿 Application.DisplayAlerts=False 申请,退出 端接头_Excel_Vba - Fatal编程技术网

Excel lls(第16行,k,1))=真或中(单元格(第16行,k,1)=“那么 GetDiam=GetDiam和Mid(单元格(第16行),k,1) 如果结束 下一个k GetDiam_Val=Val(GetDiam) 直径2ft=GetDiam_Val/12 ActiveSheet.Cells(行+1,39).Value=GetElev-Diam2Ft 其他的 ActiveSheet.Cells(第1行,第39行).Value=ActiveSheet.Cells(第4行).Value 如果结束 如果结束 下一排 '--------------------------------------------------------------------------------------- “准备工作表重新组织,必须是下一步,以便从之前的流程中获得更改的数据 对于行=1到ActiveSheet.UsedRange.Rows.Count 如果IsEmpty(ActiveSheet.Cells(行,1.Value)=True,则 退出 如果结束 ”“是的 ActiveSheet.Cells(行+1,44).Value=ActiveSheet.Cells(行,1.Value) “描述 ActiveSheet.Cells(行+1,40).Value=ActiveSheet.Cells(行,5).Value '轮辋高度 如果ActiveSheet.Cells(第5行)值为“排水口”或ActiveSheet.Cells(第5行)。值为“沟渠”,则 ActiveSheet.Cells(行+1,41).Value=ActiveSheet.Cells(行,4).Value 如果结束 'X位置 ActiveSheet.Cells(第1行,第42行)。Value=ActiveSheet.Cells(第3行)。Value “Y位置 ActiveSheet.Cells(行+1,43).Value=ActiveSheet.Cells(行,2).Value 下一排 '--------------------------------------------------------------------------------------- '重新组织工作表 对于行=1到ActiveSheet.UsedRange.Rows.Count+1 如果IsEmpty(ActiveSheet.Cells(行,1.Value)=True,则 如果IsEmpty(ActiveSheet.Cells(第44行).Value)=True,则 退出 如果结束 ElseIf CountIt=1,则 ActiveSheet.Cells(第1行)。Value=“ID” ActiveSheet.Cells(第2行)。Value=“DESC.” ActiveSheet.Cells(第3行)。Value=“RIM ELEV。” ActiveSheet.Cells(第4行)。Value=“YR\u INST” ActiveSheet.Cells(第5行)。Value=“YR\u RETIRE” ActiveSheet.Cells(第6行)。Value=“区域” ActiveSheet.Cells(第7行)。Value=“阶段” ActiveSheet.Cells(第8行)。Value=“存货标高。” ActiveSheet.Cells(第9行)。Value=“DEPTH\u RIM” ActiveSheet.Cells(第10行)。Value=“INIT\u DPTH” ActiveSheet.Cells(第11行)。Value=“SURG\u DPTH” ActiveSheet.Cells(第12行)。Value=“池塘面积” ActiveSheet.Cells(第13行)。Value=“FLOOD\u TYP” ActiveSheet.Cells(第14行)。Value=“SD\u COEFF” ActiveSheet.Cells(第15行)。Value=“已选定” ActiveSheet.Cells(第16行)。Value=“符号” ActiveSheet.Cells(第17行)。Value=“SYMSIZE” ActiveSheet.Cells(第18行)。Value=“X” ActiveSheet.Cells(第19行)。Value=“Y” ActiveSheet.Cells(第20行)。Value=“Z” ActiveSheet.Cells(第21行).Value=“SD\U网格” CountIt=CountIt+1 其他的 ActiveSheet.Cells(第1行).Value=ActiveSheet.Cells(第44行).Value ActiveSheet.Cells(第2行).Value=ActiveSheet.Cells(第40行).Value ActiveSheet.Cells(第3行).Value=ActiveSheet.Cells(第41行).Value ActiveSheet.Cells(第4行)。Value=“” ActiveSheet.Cells(第5行)。Value=“” ActiveSheet.Cells(第6行)。Value=“” ActiveSheet.Cells(第7行)。Value=“” ActiveSheet.Cells(第8行).Value=ActiveSheet.Cells(第39行).Value ActiveSheet.Cells(第9行)。Value=“” ActiveSheet.Cells(第10行)。Value=“” ActiveSheet.Cells(第11行)。Value=“” ActiveSheet.Cells(第12行)。Value=“” ActiveSheet.Cells(第13行)。Value=“” ActiveSheet.Cells(第14行)。Value=“” ActiveSheet.Cells(第15行)。Value=“” ActiveSheet.Cells(第16行)。Value=“” ActiveSheet.Cells(第17行)。Value=“” ActiveSheet.Cells(第18行).Value=ActiveSheet.Cells(第42行).Value ActiveSheet.Cells(第19行).Value=ActiveSheet.Cells(第43行).Value ActiveSheet.Cells(第20行).Value=ActiveSheet.Cells(第41行).Value ActiveSheet.Cells(第21行)。Value=“” 对于CountTheme=22到44 ActiveSheet.Cells(行,计数)。Value=“” 接下来数一数 如果结束 下一排 '--------------------------------------------------------------------------------------- '将转换后的文件另存为.CSV MsgBox“为.CSV文件选择所需的保存位置。” Dim InitialName作为字符串 变暗路径名作为变量 将ws设置为工作表 设置ws=ThisWorkbook.Worksheets(“Sheet1”) InitialName=“sfm\U输出” 路径名=应用程序.GetSaveAsFilename(初始文件名:=初始名称,文件筛选器:=“CSV(逗号分隔)(*.CSV),*.CSV”) ws.Copy ActiveWorkbook.SaveAs文件名:=路径名_ FileFormat:=xlCSV,CreateBackup:=False MsgBox“进程成功完成”。&vbNewLine&“文件保存到:”&vbNewLine&PathName '--------------------------------------------------------------------------------------- '关闭所有工作簿 Application.DisplayAlerts=False 申请,退出 端接头

Excel lls(第16行,k,1))=真或中(单元格(第16行,k,1)=“那么 GetDiam=GetDiam和Mid(单元格(第16行),k,1) 如果结束 下一个k GetDiam_Val=Val(GetDiam) 直径2ft=GetDiam_Val/12 ActiveSheet.Cells(行+1,39).Value=GetElev-Diam2Ft 其他的 ActiveSheet.Cells(第1行,第39行).Value=ActiveSheet.Cells(第4行).Value 如果结束 如果结束 下一排 '--------------------------------------------------------------------------------------- “准备工作表重新组织,必须是下一步,以便从之前的流程中获得更改的数据 对于行=1到ActiveSheet.UsedRange.Rows.Count 如果IsEmpty(ActiveSheet.Cells(行,1.Value)=True,则 退出 如果结束 ”“是的 ActiveSheet.Cells(行+1,44).Value=ActiveSheet.Cells(行,1.Value) “描述 ActiveSheet.Cells(行+1,40).Value=ActiveSheet.Cells(行,5).Value '轮辋高度 如果ActiveSheet.Cells(第5行)值为“排水口”或ActiveSheet.Cells(第5行)。值为“沟渠”,则 ActiveSheet.Cells(行+1,41).Value=ActiveSheet.Cells(行,4).Value 如果结束 'X位置 ActiveSheet.Cells(第1行,第42行)。Value=ActiveSheet.Cells(第3行)。Value “Y位置 ActiveSheet.Cells(行+1,43).Value=ActiveSheet.Cells(行,2).Value 下一排 '--------------------------------------------------------------------------------------- '重新组织工作表 对于行=1到ActiveSheet.UsedRange.Rows.Count+1 如果IsEmpty(ActiveSheet.Cells(行,1.Value)=True,则 如果IsEmpty(ActiveSheet.Cells(第44行).Value)=True,则 退出 如果结束 ElseIf CountIt=1,则 ActiveSheet.Cells(第1行)。Value=“ID” ActiveSheet.Cells(第2行)。Value=“DESC.” ActiveSheet.Cells(第3行)。Value=“RIM ELEV。” ActiveSheet.Cells(第4行)。Value=“YR\u INST” ActiveSheet.Cells(第5行)。Value=“YR\u RETIRE” ActiveSheet.Cells(第6行)。Value=“区域” ActiveSheet.Cells(第7行)。Value=“阶段” ActiveSheet.Cells(第8行)。Value=“存货标高。” ActiveSheet.Cells(第9行)。Value=“DEPTH\u RIM” ActiveSheet.Cells(第10行)。Value=“INIT\u DPTH” ActiveSheet.Cells(第11行)。Value=“SURG\u DPTH” ActiveSheet.Cells(第12行)。Value=“池塘面积” ActiveSheet.Cells(第13行)。Value=“FLOOD\u TYP” ActiveSheet.Cells(第14行)。Value=“SD\u COEFF” ActiveSheet.Cells(第15行)。Value=“已选定” ActiveSheet.Cells(第16行)。Value=“符号” ActiveSheet.Cells(第17行)。Value=“SYMSIZE” ActiveSheet.Cells(第18行)。Value=“X” ActiveSheet.Cells(第19行)。Value=“Y” ActiveSheet.Cells(第20行)。Value=“Z” ActiveSheet.Cells(第21行).Value=“SD\U网格” CountIt=CountIt+1 其他的 ActiveSheet.Cells(第1行).Value=ActiveSheet.Cells(第44行).Value ActiveSheet.Cells(第2行).Value=ActiveSheet.Cells(第40行).Value ActiveSheet.Cells(第3行).Value=ActiveSheet.Cells(第41行).Value ActiveSheet.Cells(第4行)。Value=“” ActiveSheet.Cells(第5行)。Value=“” ActiveSheet.Cells(第6行)。Value=“” ActiveSheet.Cells(第7行)。Value=“” ActiveSheet.Cells(第8行).Value=ActiveSheet.Cells(第39行).Value ActiveSheet.Cells(第9行)。Value=“” ActiveSheet.Cells(第10行)。Value=“” ActiveSheet.Cells(第11行)。Value=“” ActiveSheet.Cells(第12行)。Value=“” ActiveSheet.Cells(第13行)。Value=“” ActiveSheet.Cells(第14行)。Value=“” ActiveSheet.Cells(第15行)。Value=“” ActiveSheet.Cells(第16行)。Value=“” ActiveSheet.Cells(第17行)。Value=“” ActiveSheet.Cells(第18行).Value=ActiveSheet.Cells(第42行).Value ActiveSheet.Cells(第19行).Value=ActiveSheet.Cells(第43行).Value ActiveSheet.Cells(第20行).Value=ActiveSheet.Cells(第41行).Value ActiveSheet.Cells(第21行)。Value=“” 对于CountTheme=22到44 ActiveSheet.Cells(行,计数)。Value=“” 接下来数一数 如果结束 下一排 '--------------------------------------------------------------------------------------- '将转换后的文件另存为.CSV MsgBox“为.CSV文件选择所需的保存位置。” Dim InitialName作为字符串 变暗路径名作为变量 将ws设置为工作表 设置ws=ThisWorkbook.Worksheets(“Sheet1”) InitialName=“sfm\U输出” 路径名=应用程序.GetSaveAsFilename(初始文件名:=初始名称,文件筛选器:=“CSV(逗号分隔)(*.CSV),*.CSV”) ws.Copy ActiveWorkbook.SaveAs文件名:=路径名_ FileFormat:=xlCSV,CreateBackup:=False MsgBox“进程成功完成”。&vbNewLine&“文件保存到:”&vbNewLine&PathName '--------------------------------------------------------------------------------------- '关闭所有工作簿 Application.DisplayAlerts=False 申请,退出 端接头,excel,vba,Excel,Vba,所讨论的部分是“准备工作表重新组织”部分或“重新组织工作表”部分(或两者兼而有之)。很抱歉,目前的代码是草率的,我只是想让它在第一时间工作,然后再通过和清理它 非常感谢您的帮助 编辑:不确定代码段中的缩进发生了什么 Edit2:下面是.xlsm文件和示例input.txt文件的示例。谢谢您的输入数据。请加上 'at very top Option Explicit 'after Dim answer As Integer Application.Visible = True Stop 'in

所讨论的部分是“准备工作表重新组织”部分或“重新组织工作表”部分(或两者兼而有之)。很抱歉,目前的代码是草率的,我只是想让它在第一时间工作,然后再通过和清理它

非常感谢您的帮助

编辑:不确定代码段中的缩进发生了什么


Edit2:下面是.xlsm文件和示例input.txt文件的示例。

谢谢您的输入数据。请加上

'at very top
Option Explicit

'after Dim answer As Integer
Application.Visible = True
Stop

'in data conversion
Dim StringLength As Long, Str_Length As Long, kLen As Long

'please note
'rows 14 & 15 are not SD, WQ, SDCS, but fall thru to OUTFALL, 
'but neither are TOP/PIPE because column tested s/b 19 (not 18)

'real problem is in Reorg
        If IsEmpty(ActiveSheet.Cells(row, 1).Value) = True Then
            If IsEmpty(ActiveSheet.Cells(row, 44).Value) = True Then
                Exit For
            End If
 col-A  col-AM etc...

1                           
2       1641.11 SD  1644.01 4302311.81  216897.65   1
3       1641.63 SD  1644.53 4302261.52  216898  2
4       1648.61 SD  1651.26 4302009.62  216670.98   3
5       1648.99 SD  1652.39 4301918.39  216673.01   4
6       1649.51 SD  1654.41 4301857.91  216626.07   5
7       1651.74 SD  1654.64 4301628.69  216756.85   6
8       1662.07 SD  1665.12 4301234.27  216561.5    7
9       1661.76 SD  1665.02 4301232.65  216482.29   8
10      1661.14 SD  1664.94 4301271.11  216498.17   9
11      1669.14 SD  1669.29 4301040.07  216960.04   10
12      1656.85 SD  1661.1  4302020.09  216349.68   11
13      1658.6  SD  1660.64 4302036.86  216345.72   12
14      Unable..WQ  1656.83 4302020.95  216368.26   13
15      1647    OUTFALL 1647    4302151.24  216561.44   14
        1648.76 OUTFALL 1648.76 4302059.74  216518.98   15

第16行的Col=1为空,退出时间过快。

我们不知道输入数据是什么样的,因此无法重现这种情况。
'at very top
Option Explicit

'after Dim answer As Integer
Application.Visible = True
Stop

'in data conversion
Dim StringLength As Long, Str_Length As Long, kLen As Long

'please note
'rows 14 & 15 are not SD, WQ, SDCS, but fall thru to OUTFALL, 
'but neither are TOP/PIPE because column tested s/b 19 (not 18)

'real problem is in Reorg
        If IsEmpty(ActiveSheet.Cells(row, 1).Value) = True Then
            If IsEmpty(ActiveSheet.Cells(row, 44).Value) = True Then
                Exit For
            End If
 col-A  col-AM etc...

1                           
2       1641.11 SD  1644.01 4302311.81  216897.65   1
3       1641.63 SD  1644.53 4302261.52  216898  2
4       1648.61 SD  1651.26 4302009.62  216670.98   3
5       1648.99 SD  1652.39 4301918.39  216673.01   4
6       1649.51 SD  1654.41 4301857.91  216626.07   5
7       1651.74 SD  1654.64 4301628.69  216756.85   6
8       1662.07 SD  1665.12 4301234.27  216561.5    7
9       1661.76 SD  1665.02 4301232.65  216482.29   8
10      1661.14 SD  1664.94 4301271.11  216498.17   9
11      1669.14 SD  1669.29 4301040.07  216960.04   10
12      1656.85 SD  1661.1  4302020.09  216349.68   11
13      1658.6  SD  1660.64 4302036.86  216345.72   12
14      Unable..WQ  1656.83 4302020.95  216368.26   13
15      1647    OUTFALL 1647    4302151.24  216561.44   14
        1648.76 OUTFALL 1648.76 4302059.74  216518.98   15