• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelのVBAにて)

ExcelのVBAで請求書の抽出プログラムを作成する方法

このQ&Aのポイント
  • ExcelのVBAを使用して、請求書の抽出プログラムを作成する方法について教えてください。
  • Excelファイル内の請求書と一覧シートから、指定された客先名に該当する行を抜き出し、請求書に書き出すプログラムの作成方法を教えてください。
  • ExcelのVBAを活用して、請求書と一覧シートを連動させるプログラムを作成する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

sub macro1()  worksheets("Sheet1").range("5:65536").delete shift:=xlshiftup  worksheets("Sheet2").range("A:E").autofilter _   field:=1, criteria1:=worksheets("Sheet1").range("A1")  worksheets("Sheet2").autofilter.range.offset(0, 1).copy _   destination:=worksheets("Sheet1").range("A5")  worksheets("Sheet1").range("A3").formula = "=SUM(D:D)"  worksheets("Sheet1").range("A3").numberformatlocal = "ご請求額!:#,##0円"  worksheets("Sheet2").autofiltermode = false end sub など。

kenchiki
質問者

お礼

早速にありがとうございます。 とてもシンプルでわかりやすいです。 参考にさせていただきます。

その他の回答 (1)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

Sub test() i = 5 With Worksheets("Sheet2").Range("a1:a500") Set c = .Find(Worksheets("Sheet1").Range("A1").Value, LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do Worksheets("Sheet1").Range("A" & i) = c.Offset(0, 1).Value Worksheets("Sheet1").Range("B" & i) = c.Offset(0, 2).Value Worksheets("Sheet1").Range("C" & i) = c.Offset(0, 3).Value Worksheets("Sheet1").Range("D" & i) = c.Offset(0, 4).Value i = i + 1 Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress End If End With End Sub セル番地は実際にあわせて書き直してください。

kenchiki
質問者

お礼

早速にありがとうございます。 うまくいきそうです。 ありがとうございました。

関連するQ&A