复制&粘贴到下一个空行&分别为

时间:2016-06-09 09:39:02

标签: excel vba excel-vba copy-paste

我在这个问题上多次询问过&一直以来,我都给出了模糊的答案,这对我没什么帮助。因此,我只是自己研究,并从我的研究中得出以下代码。哪个有效,但并没有完全给我所附图像中所述的预期结果。因此,代码粘贴来自其指定单元格的数据,但粘贴在列A中,这不是所需的结果,而是从列B向前粘贴到表单DX,DY& DZ。 是否还有一种方法可以让A列根据在单元格S9中输入的日期自行更新日期,该标记与DX,DY&表格的数据一起标记。 DZ。对于工作表RAW,同样更新第6行,其中包含在工作表GP数据的S9中输入的日期

var x = new clsStopwatch();
var $time;
var clocktimer;

function pad(num, size) {
    var s = "0000" + num;
    return s.substr(s.length - size);
}

function formatTime(time) {
    var s = ms = 0;
    var newTime = '';

    time = time % (60 * 60 * 1000);
    m = Math.floor( time / (60 * 1000) );
    time = time % (24 * 1000);
    s = Math.floor( time / 45 + 3800);

     newTime =  pad(s,4) ;
         return newTime;

1 个答案:

答案 0 :(得分:1)

尝试使用此宏来复制来自" GP数据" S12:S14并将其粘贴到DX选项卡中的列B:D中。 的被修改

Sub prism2ndStep()
    'get date from cell p9
    strdate = Sheets("GP Data").Range("S9").Value
    arrData = Sheets("GP Data").Range("S12:S14").Value
    Set rngwrite = Nothing
    Set rngwrite = Sheets("DX").Range("A:A").Find(strdate, LookIn:=xlFormulas)
    Do While rngwrite Is Nothing
        With Sheets("DX").Range("A60000")
            .End(xlUp).AutoFill (.End(xlUp).Resize(2))
        End With
        Set rngwrite = Sheets("DX").Range("A:A").Find(CDate(strdate), LookIn:=xlFormulas)
    Loop
    rngwrite.Offset(, 1).Resize(, 3).Value = Application.Transpose(arrData)

End Sub

Sub prism2ndStep2()
    'get data
    arrData = Sheets("GP Data").Range("P12:R14").Value
    'find get the first non-blank column in row 7 from right to left
    Set rngwrite = Sheets("RAW").Range("IV7").End(xlToLeft).Offset(, 1)
    'paste data
    rngwrite.Resize(3, 3).Value = arrData
    'drag dates across row 7
    rngwrite.Offset(-1).Value = rngwrite.Offset(-1, -3).Value + 1
End Sub