Vba 循环结束后,我如何让它继续?
我从录制的宏开始循环和下一部分。但我想把它们放在同一个宏中,在这里我会被绊倒。 有什么想法吗Vba 循环结束后,我如何让它继续?,vba,Vba,我从录制的宏开始循环和下一部分。但我想把它们放在同一个宏中,在这里我会被绊倒。 有什么想法吗 Sub SkapaPDF() ' ' SkapaPDF Macro ' Dim ws, ws1 As Worksheet Dim LastRow As Long Set ws = Sheets("Uträkning") Set ws1 = Sheets("TillPDF") 'Application.ScreenUpdating = False Sheets("TillPdf").Sel
Sub SkapaPDF()
'
' SkapaPDF Macro
'
Dim ws, ws1 As Worksheet
Dim LastRow As Long
Set ws = Sheets("Uträkning")
Set ws1 = Sheets("TillPDF")
'Application.ScreenUpdating = False
Sheets("TillPdf").Select
ws1.Rows("2:2").Select
Do Until IsEmpty(ActiveCell.Value)
Sheets("TillPdf").Select
ws1.Rows("2:2").Select
Selection.Copy
Range("A" & Rows.Count).End(xlUp).Offset(1).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Rows(ActiveCell.Row).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ws1.Rows("2:2").Select
Selection.Copy
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
ActiveCell.End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Rows(ActiveCell.Row).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A" & Rows.Count).End(xlUp).Select
If ActiveCell.Value = "0" Then Exit Sub
Loop
Application.ScreenUpdating = True
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("PDF").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Rows("3:3").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range(Selection, Selection.End(xlDown)).Select
Sheets("PDF").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="\\naspri01tsivz2.tcad.telia.se\TS-Home136$\lrc691\Documents\Kemikalieskatt\Kemikalieskatt &ActiveCell(Q1).pdf", _
OpenAfterPublish:=True
End Sub
我想您是在问“当值为“0”时,我如何不退出Sub,而是退出循环并继续执行其余代码”。如果是,请将
Exit Sub
更改为Exit Do
。再想一想,也许这不是你要问的-我无法确定你的循环试图做什么-因此,也许你永远不会在复制的数据中得到“0”的值。循环是将信息从一个工作表复制到另一个工作表,第一个工作表包含很多vlookup和公式,所以我只需要这些值。但第一张纸上的行数可能会有所不同,因此当有0行时,我会进行循环停止。退出看起来很有趣。它是如何工作的?我可以用谷歌搜索它。我改为退出,但它只是重复了这个循环。解决了它。如果ActiveCell.Value=“0”,那么退出DoNow,我只需要在最后确定PDF文件的命名。结果是错的。