|
EXCELは2007を使用しています。
コマンドボタンで作成者の名前を選択して、その名前の名刺ファイルを
呼び出して、印刷する見積シートに貼り付けるVBAを作っているます。
見積シートのセル(Q6)にchangeイベントを設定して、セル(Q6)には
コマンドボタンをリンクさせています。
コマンドボタンで選択すると、セル(Q6)の名前は変わっているのですが
Changeイベントが実行されないので困っています。
別の手として、コマンドボタンのChangeイベントでこの処理を実行しようとも
考えたのですが、なぜか同じファイルが重なって3枚も貼り付けられ、これも
理由が分かりません。
Private Sub Worksheet_Change(ByVal Target As Range)
'見積作成者を見積書に貼り付ける
'事前にメインシートのコマンドボックスから作成者名をで持ってきている
If Not Intersect(Target, Range("Q6")) Is Nothing Then
Dim 保存場所 As String
Dim 作成者名 As String
Application.ScreenUpdating = False
保存場所 = "D:\業務\見積書作成\見積書\"
作成者名 = 保存場所 & "名刺写し\" & Sheets("見積シート").Range("Q6").Value & ".jpg"
Worksheets("見積出").Select
ActiveSheet.Shapes.AddPicture 作成者名, False, True, 0, 0, 180, 120
Application.ScreenUpdating = True
End If
End Sub
上記は印刷する見積シートのモジュールですが、この他にもActiveX
コントロールをシートで利用しようとして何度も失敗しているます。
いつもChangeイベントがセルの値が変化したことを認識しないのかエラーも
出ません。
この問題が解決しないと先に進むことが出来ませんので
解決方法が解る方がいるようでしたら、書き込みお願いします。
|
|