Excel 添加循环以对多张图纸进行编码

Excel 添加循环以对多张图纸进行编码,excel,vba,powerpoint,Excel,Vba,Powerpoint,我一直在使用这段代码,它将单个范围转换为Power Point作为图片,代码运行良好。我想在代码中添加一个循环,用于多个工作表 我在列“A”中有工作表名称,在列“B”中有工作表范围,状态为列“C” 如果Col“C”单元格为=“Include”,则这些图纸范围将作为图片粘贴到电源点,所有其他图纸范围将被忽略 非常感谢你的帮助 请尝试下一种方法: Sub SelectSheets_Ranges() Dim sh As Worksheet, lastR As Long, rng As Range

我一直在使用这段代码,它将单个范围转换为Power Point作为图片,代码运行良好。我想在代码中添加一个循环,用于多个工作表

我在
列“A”
中有工作表名称,在
列“B”
中有工作表范围,状态为
列“C”

如果
Col“C”
单元格为
=“Include”
,则这些图纸范围将作为图片粘贴到电源点,所有其他图纸范围将被忽略

非常感谢你的帮助


请尝试下一种方法:

Sub SelectSheets_Ranges()
  Dim sh As Worksheet, lastR As Long, rng As Range, arr, arrSplit, i As Long, k As Long
  
  Set sh = ActiveSheet
  lastR = sh.Range("A" & sh.rows.count).End(xlUp).row
  
  ReDim arr(lastR - 1)
  For i = 2 To lastR
        If sh.Range("C" & i).value = "Include" Then
            arr(k) = sh.Range("A" & i).value & "|" & sh.Range("B" & i).value: k = k + 1
        End If
  Next i
  ReDim Preserve arr(k - 1)
  For i = 0 To UBound(arr)
        arrSplit = Split(arr(i), "|")
        Set rng = Worksheets(arrSplit(0)).Range(arrSplit(1))
        Debug.Print rng.Address(external:=True): stop 'see its address in Immediate Window
        'do whatever you need with each rng...
  Next
End Sub

请尝试下一种方法:

Sub SelectSheets_Ranges()
  Dim sh As Worksheet, lastR As Long, rng As Range, arr, arrSplit, i As Long, k As Long
  
  Set sh = ActiveSheet
  lastR = sh.Range("A" & sh.rows.count).End(xlUp).row
  
  ReDim arr(lastR - 1)
  For i = 2 To lastR
        If sh.Range("C" & i).value = "Include" Then
            arr(k) = sh.Range("A" & i).value & "|" & sh.Range("B" & i).value: k = k + 1
        End If
  Next i
  ReDim Preserve arr(k - 1)
  For i = 0 To UBound(arr)
        arrSplit = Split(arr(i), "|")
        Set rng = Worksheets(arrSplit(0)).Range(arrSplit(1))
        Debug.Print rng.Address(external:=True): stop 'see its address in Immediate Window
        'do whatever you need with each rng...
  Next
End Sub

在A2:C12范围内的行上循环,并使用
工作表(cell1Value)。范围(cell2Value)。复制
其中
cell3Value
=”包括“嗨,@Tim Williams感谢您的指导,但这对我来说不容易创建根据
列“C”的
状态运行的循环
如果有5个
包含
,则相应的工作表范围将作为图片粘贴到Power Point。在A2:C12范围内的行上循环,并使用
工作表(cell1Value)。范围(cell2Value)。复制
其中
cell3Value
=“包含”Hi,@Tim Williams感谢您对油井的指导,但这对我来说并不容易创建根据
列“C”的
状态运行的循环
如果有5个
包含
,则相应的页面范围将作为图片粘贴到Power Point。非常感谢@FaneDuru的帮助,我希望您能再帮我一个忙,将我的上述代码添加到您的代码中。如果你不介意的话。因为我知道引用这两个代码对我来说都是一项困难的任务。@Valiant:我会这样做,但我可以看到您用其他代码替换了初始代码。。。我是否应该理解“工作表(“Pivot”).范围(“FC3:FP35”)”是指前一个
rng
动态用于不同的工作表?同时,我已更新了新问题,请解决该问题。非常感谢@FaneDuru,我希望您能再帮我一个忙,将我的上述代码添加到您的代码中。如果你不介意的话。因为我知道引用这两个代码对我来说都是一项困难的任务。@Valiant:我会这样做,但我可以看到您用其他代码替换了初始代码。。。我是否应该理解“工作表(“Pivot”).范围(“FC3:FP35”)”是指前一个
rng
动态用于不同的工作表?同时,我已更新了新问题,请解决该问题。