0

Excelでマクロを動作させようとしています。

現在、3 列の「フォーム」というワークシートがあります。見出し (1 行目) は、A = フォーム番号、B = フォーム名、C = パーツです。Ins というワークシートもあり、まったく同じ見出しとすでに情報が入力されています。

列 A の「フォーム」にフォーム番号を入力し、Ins からの情報を列 B と C に自動的にコピーできるように取得しようとしています。現在、コードに EntireRow がありますが、列AからCにのみコピーするように具体的に設定できればいいのですが、方法がわかりません。

現在使用しようとしているコードは次のとおりです。

Private Sub Auto()

Application.ScreenUpdating = False
Dim wks1 As Worksheet, wks2 As Worksheet

Dim j As Integer
Dim i As Integer

Set wks1 = Sheets("Forms")
Set wks2 = Sheets("Ins")

lastline = wks1.UsedRange.Rows.Count

For i = 2 To lastline

wks2.Cells(1, 1).CurrentRegion.AutoFilter
wks2.Cells(1, 1).CurrentRegion.AutoFilter 1, wks1.Cells(i, 1).Value
wks2.Cells(1, 1).CurrentRegion.EntireRow.Copy wks1.Cells(i, 1)
wks2.Cells(1, 1).CurrentRegion.AutoFilter


Next i


End Sub
4

3 に答える 3

0

3 番目のワークブックを追加し、列 A にフォーム番号を入力することで、これを機能させることができました。

Private Sub Auto()

Application.ScreenUpdating = False
Dim wks1 As Worksheet, wks2 As Worksheet

Dim j As Integer
Dim i As Integer

Set wks1 = Sheets("Form Worksheet")
Set wks2 = Sheets("Instructions")
Set wks3 = Sheets("To Do")

lastline = wks1.UsedRange.Rows.Count

For i = 2 To lastline

wks2.Cells(2, 1).CurrentRegion.AutoFilter
wks2.Cells(2, 1).CurrentRegion.AutoFilter 1, wks3.Cells(i, 1).Value
wks2.Cells(2, 1).CurrentRegion.Offset(1).Resize(, 10).Copy
wks1.Cells(i, 4).PasteSpecial Paste:=xlPasteValues
wks2.Cells(2, 1).CurrentRegion.AutoFilter


Next i


End Sub

しかし、私はティムのバージョンを使用することになりました。

みんなありがとう!

于 2013-09-26T03:15:23.940 に答える