| |
こんにちは。かみちゃん です。
>ちょっと難しいです。
どこがわからなかったのでしょうか?
>エクセルはもっとリンクされていれ振込口座とかいろいろありまして
そういう情報も最初から書きましょうね。
>エクセルの関数は、変更したくないのです。
機能として合っていなかったかもしれませんが、試してみて、そういうことをおっ
しゃっているのでしょうか?
以下のように変更すれば、期待とおりの結果が得られると思いますけど・・・
請求書(Sheet2)のD1セルの値だけが変わりますので、D1を参照している数式は全部更新されます。
処理速度がどうかな?というのはありますが・・・・
Sub Macro2()
Dim MyR As Range, c As Range, c2 As Range
Sheets("Sheet2").Select
Set MyR = Range("E4:E8")
' Set MyR = Application.InputBox( _
' prompt:="印刷したいセルを選択してください。", Type:=8)
For Each c In MyR
If c.Value <> "" Then
With Sheets("Sheet1").Columns("A").Cells
Set c2 = .Find(c.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not c2 Is Nothing Then
With Sheets("Sheet2")
.Range("D1").Value = c2.Value
.PrintPreview '〜 ここに印刷処理 実際は、PrintOut
End With
'〜 ここに印刷処理のマクロを記述 〜
Else
MsgBox "請求書番号 " & c.Value & " のデータはありません"
End If
End With
End If
Next
MsgBox "印刷終了"
End Sub
|
|