[英]Copy Rows from Sheet With Same Leading Cell Text
所以我已經為此感到困惑了一段時間。 我有兩張紙,其中第1欄的某些值以粗體顯示。 我希望過濾第二張工作表(“年份設置”)上的值,並使用同一列1粗體文本復制整個數據行。
例如,我想從第一個鏈接獲取“ Backhoes”行,並將其復制到第二個鏈接的“ Backhoes”行。
這里的主要問題是首頁上帶有加粗文本的行是可變的,並且可能始終沒有相同的行號。 添加更多設備后,行號將發生變化。
就像我說的,先謝謝您的幫助,我已經為此工作了幾天。
此外,數據必須從一行轉為一列,但這只是次要的細節。
看這樣的東西。 1.在各行中循環查找粗體單元格。 2.遍歷所有列,然后將數據從源工作表復制到目標工作表。
Dim lRow As Long
Dim lCol As Long
Dim lRowFind As Long
Dim sourceSheet As Excel.Worksheet
Dim targetSheet As Excel.Worksheet
Set sourceSheet = ActiveWorkbook.Sheets("Current Year Budget")
Set targetSheet = ActiveWorkbook.Sheets("Mult. Year Set up")
lRow = 5
Do While lRow <= sourceSheet.UsedRange.Rows.count
'You could do it by name
'If ws.Range("A" & lRow).Value = "Backhoes" Or ws.Range("A" & lRow).Value = "Graders" Then
'If we are looking for variable rows by them being bold. We can do this.
If sourceSheet.Range("A" & lRow).Font.Bold = True Then
'Find the row on the target sheet where we want to write the data.
lRowFind = 1
Do While lRowFind <= targetSheet.UsedRange.Rows.count
If targetSheet.Range("A" & lRowFind).Value = sourceSheet.Range("A" & lRow).Value Then
Exit Do
End If
lRowFind = lRowFind + 1
Loop
'Now we have a row that we want to copy.
For iCol = 1 To sourceSheet.UsedRange.Columns.count
targetSheet.Cells(lRowFind + iCol, 2).Value = sourceSheet.Cells(lRow, iCol).Value
Next iCol
End If
lRow = lRow + 1
sourceSheet.Range("A" & lRow).Activate
Loop
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.