在VBA循环中复制/粘贴

时间:2015-12-01 17:30:32

标签: vba excel-vba excel

我在Excel中有多个包含数据列的工作表。我想要做的是将数据工作表中的所有列D复制并粘贴到另一个新工作表中,将所有列E从数据工作表复制并粘贴到另一个工作表中,等等。我能够创建7个新的Excel工作表收集数据和数据工作表从Worksheet 8开始。以下是我的代码片段:

For t = 8 To tabs

    Sheets(t).Range("D1:D2544").Copy Worksheets("OCM_VMonM24").Range(Cells(1, t - 6), Cells(2544, t - 6))
    Sheets(t).Range("E1:E2544").Copy Worksheets("OCM_VMonM12").Range(Cells(1, t - 6), Cells(2544, t - 6))
    Sheets(t).Range("F1:F2544").Copy Worksheets("OCM_VMonP24").Range(Cells(1, t - 6), Cells(2544, t - 6))
Next t

它适用于循环中的第一行,但是当它尝试复制列E(For循环中的第二行代码)时,它会失败。我是VBA的新手,无法弄清楚我做错了什么。

1 个答案:

答案 0 :(得分:0)

您的粘贴区域需要更多资格更改:

dateAndTimeArray = ['Nov-15 18:00', 'Nov-20 20:00', 'Nov-11 22:00', 'Nov-12 20:00'];

     var seriesData=jsonObj;
console.log(seriesData);
    $('#container').highcharts({
        chart: {
            zoomType: 'xy',
            spacingRight: 10
        },
        credits: {
            enabled: false
        },
        title: {
            text: ''
        },
        xAxis: {
            type: 'datetime',
            labels: {
                overflow: 'justify'
            },
            startOnTick: true,
            showFirstLabel: true,
            endOnTick: true,
            showLastLabel: true,
            categories: dateAndTimeArray,
            tickInterval: 00,
            labels: {
                formatter: function() {
                    return this.value.toString().substring(0, 6);
                },
                rotation: 0.1,
                align: 'left',
                step: 10,
                enabled: true
            },
            style: {
                fontSize: '8px'
            }
        },
        yAxis: {
            title: {
                text: 'Measurement value'
            }
        },
        tooltip: {
            xDateFormat: '%Y-%m-%d %H:%M',
            shared: true
        },
        legend: {
            enabled: false
        },
        plotOptions: {
            area: {
                fillColor: {
                    linearGradient: {
                        x1: 0,
                        y1: 0,
                        x2: 0,
                        y2: 1
                    },
                    stops: [
                        [0, Highcharts.getOptions().colors[0]],
                        [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')]
                    ]
                },
                lineWidth: 1,
                marker: {
                    enabled: false
                },
                shadow: false,
                states: {
                    hover: {
                        lineWidth: 1
                    }
                },
                //  threshold: null
            }
        },
        series:jsonObj


    });

到这个

Worksheets("OCM_VMonM24").Range(Cells(1, t - 6), Cells(2544, t - 6))

更改三个粘贴范围中的每一个以反映我对第一个粘贴范围所做的更改。

如果您不符合Worksheets("OCM_VMonM24").Range(Worksheets("OCM_VMonM24").Cells(1, t - 6), Worksheets("OCM_VMonM24").Cells(2544, t - 6)) 参考资格,则会查看活动工作表。所以你从一张纸上调用一个范围,但从另一张纸中引用单元格。