0
Excel用のVBAコードを探していて、ワークシートの数値(バーコード)別のワークシート(同じブック)の各番号(バーコード)と完全に一致するものを探し、入力した検索語の番号(バーコード)の横にある列の元のワークシートに行全体をコピーします。数値の列をループして各数値を検索し、行全体をワークシートにコピーするVBAコード
このコードは見つかりましたが、ワークシート(検索語)の数値(バーコード)の列はループしません。検索範囲は、すべてのデータを含むワークシート全体でなければなりません。
Sub Copy()
Dim objWorksheet As Worksheet
Dim rngBurnDown As Range
Dim rngCell As Range
Dim strPasteToSheet As String
'Used for the new worksheet we are pasting into
Dim objNewSheet As Worksheet
Dim rngNextAvailbleRow As Range
'Define the worksheet with our data
Set objWorksheet = ActiveWorkbook.Sheets("Burn Down")
'Dynamically define the range to the last cell.
'This doesn't include and error handling e.g. null cells
'If we are not starting in A1, then change as appropriate
Set rngBurnDown = objWorksheet.Range("A3:A" & objWorksheet.Cells(Rows.Count, "A").End(xlUp).Row)
'Now loop through all the cells in the range
For Each rngCell In rngBurnDown.Cells
objWorksheet.Select
If rngCell.Value <> "" Then
'select the entire row
rngCell.EntireRow.Select
'copy the selection
Selection.Copy
'Now identify and select the new sheet to paste into
Set objNewSheet = ActiveWorkbook.Sheets("Burn Down " & rngCell.Value)
objNewSheet.Select
'Looking at your initial question, I believe you are trying to find the next available row
Set rngNextAvailbleRow = objNewSheet.Range("A1:A" & objNewSheet.Cells(Rows.Count, "A").End(xlUp).Row)
'MsgBox "Success"
objNewSheet.Range("A" & rngNextAvailbleRow.Rows.Count + 1).Select
ActiveSheet.Paste
End If
Next rngCell
objWorksheet.Select
objWorksheet.Cells(1, 1).Select
End Sub
コードタグですべてのコードをラップする – dbmitch
'このコードは見つかりましたがループしません 'ので、コードを調べてそれに合わせて変更してください。XD – findwindow
単にvlookup式を使用しないのはなぜですか?あなたはものを過度に複製しているように見えます。 – Fredrik