簡體   English   中英

查找最后一行,選擇行中的特定列

[英]Find last row, select specific column in row

我才剛剛開始學習VBA,並且試圖在這里找到解決方案,但無濟於事。 我正在為此尋找VBA宏:

我的工作簿中有一個名為LOG的工作表,當我開始填寫該行時,它會在A列中獲得一個時間戳。 完成任務后,我在第I列中使用=CONCATENATE來匯總A至H行。第I列的公式內容填充到第300行或更多。 在輸入時間戳記(“ ctrl +:”)之前,列A為空白。

我要執行的操作是通過命令按鈕運行宏,它將在A列中找到帶有時間戳的最后一行,然后選擇並將I列中該行的內容(而不是公式)復制到剪貼板。

我試圖修改在stackoverflow中發現的許多不同建議,但收效甚微。 我不確定自己在做什么錯,我嘗試了很多嘗試,但我不知道我會與您分享哪個示例。 任何幫助將不勝感激! 再次感謝!

1)定義一個將一些文本復制到剪貼板的函數:

Sub CopyText(Text As String)
    'VBA Macro using late binding to copy text to clipboard.
    'By Justin Kay, 8/15/2014
    Dim MSForms_DataObject As Object
    Set MSForms_DataObject = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    MSForms_DataObject.SetText Text
    MSForms_DataObject.PutInClipboard
    Set MSForms_DataObject = Nothing
End Sub

然后是這樣的:

Sub GetLastTimestampAndCopy()
    dim ws as worksheet
    dim strValue as string
    dim lngLastRow as long

    set ws = Activeworkbook.Worksheets("LOG")

    ' Get the last populated cell in the first column
    lngLastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row

    ' Get corresponding value in the same row but in column I
    strValue = ws.Cells(lngLastRow, 9).Value

    CopyText strValue
End Sub

執行第二個SUB,您應該在剪貼板上具有該值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM