下面的代碼將掃描每列,並將屬於條件(SEA,CUA等等和紅色)的整行復制到名爲sheet 「文件共享」。 (這是中途完成!!)VBA:宏將條件下的單元格複製到新選項卡
我想現在做兩件事情,而不是複製整行,我想它從源表複製(請參閱示例dataset1)目標系統(應用程序),用戶ID和角色名稱添加到目標工作表「Fileshares」(請參閱示例數據集2),以查找與條件匹配的每個單元格。只有粗體標題需要填寫。對於「操作」列,「刪除」需要放入每個有數據的行中。
此外,我想動態地搜索列到第n列(工作表中的最後一列),而不是硬編碼變量「k」。
任何幫助,見解或建議將不勝感激。謝謝!
Sub BulkUpload()
Dim rngCell As Range
Dim lngLstRow As Long
Dim keywords() As String, maxKeywords() As String
Dim totalKeywords As Integer, i&
Dim ws As Worksheet, resultsWS As Worksheet
Sheets.Add
ActiveSheet.Name = "FileShares"
Call Template
Set ws = Sheets("Sheet1")
Set resultsWS = Sheets("FileShares")
totalKeywords = 8
ReDim keywords(1 To totalKeywords)
ReDim maxKeywords(1 To totalKeywords)
maxKeywords(1) = "SEA"
maxKeywords(2) = "CUA"
maxKeywords(3) = "CCA"
maxKeywords(4) = "CAA"
maxKeywords(5) = "AdA"
maxKeywords(6) = "X"
maxKeywords(7) = "CUA" & Chr(10) & "SEA"
maxKeywords(8) = "CCA" & Chr(10) & "CUA" & Chr(10) & "SEA"
lngLstRow = ws.UsedRange.Rows.Count
Worksheets("FileShares").Select
j = 6
p = 1
q = 6
Dim k& ' create a Long to use as Column numbers for the loop
For k = 9 To 50
With ws
For Each rngCell In .Range(.Cells(8, k), .Cells(lngLstRow, k))
For i = LBound(maxKeywords) To UBound(maxKeywords)
If rngCell.Value = maxKeywords(i) And rngCell.Interior.ColorIndex = 3 Then
resultsWS.Cells(1000, k).End(xlUp).Offset(j + p, 0).EntireRow.Value = rngCell.EntireRow.Value
j = q + p - 7 'Used to start at row 8 and every row after
End If
Next i
Next rngCell
End With
Next k
End Sub
所以,基本上你得到了@BruceWayne來爲你寫代碼(http://stackoverflow.com/a/35515223/1153513),現在你又想讓另外一個用戶在這裏爲你編碼?如果您嘗試**來自己實現新功能,那麼您的努力如何? – Ralph
是的,BruceWayne去年幫了我很多,我非常感謝!我已經做了一些改變,我想出瞭如何改變。你不會相信我花了多長時間才能按照我想要的方式獲得膠印。我試圖改變整個行的複製方式,而是改變特定的單元格,但我沒有做任何修改。我在這裏嘗試!謝謝拉爾夫。 – Vince