- 締切済み
Excelのデータから一部のデータを別シートに抽出するマクロを組みたい2
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- kmetu
- ベストアンサー率41% (562/1346)
とりあえずこちらに回答します 日付を変えたら変更する場合です Summary SheetのVBEに Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Integer, LastRow As Integer Dim c As Object Dim firstAddress As String If Target.Address = "$F$1" Then i = 0 If Range("F5") <> "" Then Range("C5:" & Range("F65536").End(xlUp).Address).Clear End If With Worksheets("Log Sheet").Range("C10:" & Worksheets("Log Sheet").Range("c65536").End(xlUp).Address) Set c = .Find(ActiveSheet.Range("F1").Value, LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do ActiveSheet.Range("C5").Offset(i, 0) = c.Offset(0, 3).Value ActiveSheet.Range("D5").Offset(i, 0) = c.Offset(0, 6).Value ActiveSheet.Range("F5").Offset(i, 0) = c.Offset(0, 10).Value i = i + 1 Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress End If End With End If End Sub
- kmetu
- ベストアンサー率41% (562/1346)
With Worksheets("Log Sheet").Range("C10:" & Worksheets("Log Sheet").Range("c65536").End(xlUp).Address) にしてください。
- kmetu
- ベストアンサー率41% (562/1346)
画像が見えにくいのですが多分 Sub test() Dim i As Integer, LastRow As Integer Dim c As Object Dim firstAddress As String i = 0 LastRow = Range("C65536").End(xlUp).Row + 1 With Worksheets("Log Sheet").Range("C10:" & Range("C65536").End(xlUp).Address) Set c = .Find(ActiveSheet.Range("F1").Value, LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do ActiveSheet.Range("C" & LastRow).Offset(i, 0) = c.Offset(0, 3).Value ActiveSheet.Range("D" & LastRow).Offset(i, 0) = c.Offset(0, 6).Value ActiveSheet.Range("F" & LastRow).Offset(i, 0) = c.Offset(0, 10).Value i = i + 1 Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress End If End With End Sub
- cistronezk
- ベストアンサー率38% (120/309)
前の質問の続きなら、前の質問でやりましょう。 前の質問を閉めずに、一部の回答者とだけのやり取りのためだけに質問を立ち上げるのはマナー違反です。 ちなみに、何度も質問してもご自分で理解できないようなマクロを使うのは、最近厳しくなってきた内部統制の観点からして問題があるような気がします。
補足
大変申し訳ありませんでした。 今後気をつけます。
お礼
kmetu-san, 何度も、迅速かつ丁寧な回答をしていただきまして、ありがとうございました。 また、お礼が遅くなってしまいましてすみませんでした。