初学提问,VBA想实现从sheet2中复制每列中的特定单元格,粘贴到sheet1之中按行来展示;其中从每列中要复制的单元格行是确定的,但是因为要复制的每列之间会有一些空白或者无用的数据,所以需要每跨6列后对下一列执行一次这个操作;想看看怎么才能实现这个循环
大概知道是要用cells配合对象写入值嵌套,但是下手不会写

初学提问,VBA想实现从sheet2中复制每列中的特定单元格,粘贴到sheet1之中按行来展示;其中从每列中要复制的单元格行是确定的,但是因为要复制的每列之间会有一些空白或者无用的数据,所以需要每跨6列后对下一列执行一次这个操作;想看看怎么才能实现这个循环
大概知道是要用cells配合对象写入值嵌套,但是下手不会写

关注引自免费微信小程序:皆我百晓生
你可以使用VBA的循环结构和条件判断来实现你的需求。以下是一个示例代码,可以帮助你完成这个循环复制的操作:
Sub CopySpecificCells()
Dim sourceSheet As Worksheet
Dim targetSheet As Worksheet
Dim sourceRow As Integer
Dim targetRow As Integer
Dim sourceColumn As Integer
Dim targetColumn As Integer
Dim rowCount As Integer
Dim columnCount As Integer
' 设置源表和目标表
Set sourceSheet = ThisWorkbook.Sheets("Sheet2")
Set targetSheet = ThisWorkbook.Sheets("Sheet1")
' 设置起始行和列
sourceRow = 1
targetRow = 1
sourceColumn = 1
targetColumn = 1
' 设置每跨6列执行一次操作
columnCount = sourceSheet.Cells(1, sourceSheet.Columns.Count).End(xlToLeft).Column
For sourceColumn = 1 To columnCount Step 6
' 设置每列要复制的行数
rowCount = 4
' 复制单元格内容
For i = 1 To rowCount
targetSheet.Cells(targetRow, targetColumn).Value = sourceSheet.Cells(sourceRow, sourceColumn).Value
sourceRow = sourceRow + 1
targetRow = targetRow + 1
Next i
' 切换到下一列
targetColumn = targetColumn + 1
sourceRow = 1
targetRow = 1
Next sourceColumn
End Sub
上面的代码假设源表为"Sheet2",目标表为"Sheet1",并且每列要复制的行数都是4行。你可以根据实际情况修改这些值。这段代码可以实现从每列中复制特定的单元格,然后按行粘贴到目标表中。
请注意,在这段代码中,我将源表中每列的起始行和目标表中每列的起始行分别定义为sourceRow和targetRow,通过循环进行遍历和复制。每次遍历完一列后,将源表和目标表的起始行重置,然后切换到下一列进行操作。
希望以上代码和解释能够帮助到你!如果有任何问题,请随时提问。