[英]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.