新人求教,感谢各位大佬
vba吧
全部回复
仅看楼主
level 2
葬駌鸯 楼主
Sub保存()
Dim re,i
For i = 12 To 19
IF Sheets("表单录入").Cells(i,5)<>""Then
rE=Sheets("出入库明细").range("d"&Sheets("出入库明细").rows.count).end(xlup).row
IF rE <=8 Then rE = 8
Sheets("出入库明细").Cells(rE + 1,4)=Sheets("表单录入").[M10]'日期'
Sheets("出入库明细").Cells(rE + 1,5)=Sheets("表单录入").[N9]'单号'
Sheets("出入库明细").Cells(rE + 1,6)=Sheets("表单录入").[E10]'供客'
Sheets("出入库明细").Cells(rE + 1,7)=Sheets("表单录入").Cells(i,5)'产品编号'
Sheets("出入库明细").Cells(rE + 1,8)=Sheets("表单录入").Cells(i,6)'名称'
Sheets("出入库明细").Cells(rE + 1,9)=Sheets("表单录入").Cells(i,7)'规格'
Sheets("出入库明细").Cells(rE + 1,10)=Sheets("表单录入").Cells(i,8)'型号'
Sheets("出入库明细").Cells(rE + 1,11)=Sheets("表单录入").Cells(i,9)'单位'
Sheets("出入库明细").Cells(rE + 1,12)=Sheets("表单录入").Cells(i,10)'库位'
IF Sheets("表单录入").[Q9]="入库" Then
Sheets("出入库明细").Cells(rE + 1,13)=Sheets("表单录入").Cells(i,11)'入库数量'
Sheets("出入库明细").Cells(rE + 1,14)=Sheets("表单录入").Cells(i,12)'单价'
Sheets("出入库明细").Cells(rE + 1,15)=Sheets("表单录入").Cells(i,13)'金额'
End if
IF Sheets("表单录入").[Q9]="出库" Then
Sheets("出入库明细").Cells(rE + 1,16)=Sheets("表单录入").Cells(i,11)'出库数量'
Sheets("出入库明细").Cells(rE + 1,17)=Sheets("表单录入").Cells(i,12)'单价'
Sheets("出入库明细").Cells(rE + 1,18)=Sheets("表单录入").Cells(i,13)'金额'
End if
Sheets("出入库明细").Cells(rE + 1,19)=Sheets("表单录入").[E21]'经办人'
Sheets("出入库明细").Cells(rE + 1,20)=Sheets("表单录入").Cells(i,14)'备注'
END if
Next i
MsgBox"已完成"
End Sub
2024年06月10日 22点06分 1
level 2
葬駌鸯 楼主
各位大佬,能不能帮我看看,为什么开始那两行代码总是报错说语法错误
2024年06月10日 22点06分 2
level 2
葬駌鸯 楼主
感谢各位大佬
2024年06月10日 22点06分 3
level 9
如果复制粘贴没有错的话,变量定义就不对,你定义的是re,实际使用的是rE。
2024年06月10日 22点06分 4
level 6
你有4个IF但只有3个END IF,先检查一下吧
2024年06月11日 00点06分 5
level 1
注意空格。检查then,&等前后空格
2024年06月11日 03点06分 6
level 5
if re≤8 then re=8 这句逻辑有问题。重新赋值好像不能这样写。我会改为 if re≤8 then 然后就接下面的 xxxxx cells(9,4)xxx 这样写
2024年06月11日 06点06分 9
然后 else 再复制你cells(re+1,4) 的那些。然后你好像少了一个end if
2024年06月11日 06点06分
level 1
'你试一试,因为看不到你的excel,看看能不能解决你的问题?
Sub 保存()
Dim re, i
re = Sheets("出入库明细").Range("d" & Sheets("出入库明细").Rows.Count).End(xlUp).Row
For i = 12 To 19
If Sheets("表单录入").Cells(i, 5) <> "" Then
If re <= 8 Then re = 8 '没明白这句是什么意思 —_—!!!!
Sheets("出入库明细").Cells(re + 1, 4) = Sheets("表单录入").[M10] '日期'
Sheets("出入库明细").Cells(re + 1, 5) = Sheets("表单录入").[N9] '单号'
Sheets("出入库明细").Cells(re + 1, 6) = Sheets("表单录入").[E10] '供客'
Sheets("出入库明细").Cells(re + 1, 7) = Sheets("表单录入").Cells(i, 5) '产品编号'
Sheets("出入库明细").Cells(re + 1, 8) = Sheets("表单录入").Cells(i, 6) '名称'
Sheets("出入库明细").Cells(re + 1, 9) = Sheets("表单录入").Cells(i, 7) '规格'
Sheets("出入库明细").Cells(re + 1, 10) = Sheets("表单录入").Cells(i, 8) '型号'
Sheets("出入库明细").Cells(re + 1, 11) = Sheets("表单录入").Cells(i, 9) '单位'
Sheets("出入库明细").Cells(re + 1, 12) = Sheets("表单录入").Cells(i, 10) '库位'
Sheets("出入库明细").Cells(re + 1, 19) = Sheets("表单录入").[E21] '经办人'
Sheets("出入库明细").Cells(re + 1, 20) = Sheets("表单录入").Cells(i, 14) '备注'
If Sheets("表单录入").[Q9] = "入库" Then
Sheets("出入库明细").Cells(re + 1, 13) = Sheets("表单录入").Cells(i, 11) '入库数量'
Sheets("出入库明细").Cells(re + 1, 14) = Sheets("表单录入").Cells(i, 12) '单价'
Sheets("出入库明细").Cells(re + 1, 15) = Sheets("表单录入").Cells(i, 13) '金额'
ElseIf Sheets("表单录入").[Q9] = "出库" Then
Sheets("出入库明细").Cells(re + 1, 16) = Sheets("表单录入").Cells(i, 11) '出库数量'
Sheets("出入库明细").Cells(re + 1, 17) = Sheets("表单录入").Cells(i, 12) '单价'
Sheets("出入库明细").Cells(re + 1, 18) = Sheets("表单录入").Cells(i, 13) '金额'
End If
End If
Next i
MsgBox "已完成"
End Sub
2024年06月12日 09点06分 10
会不会是指,12 TO 19 的那8行,没有8行就等于8行
2024年06月12日 22点06分
1