|
▼β さん:
>▼かかし さん:
>
>まず、コントロールの印刷をする、しないということとは別に、別シートの同じ場所に
>図形を転記する部分を試してみてください。いかがでしたか?
>
>次に、コントロールの印刷要否の件ですが、印刷のチェックをはずすと、当然、そのコントロール全体が
>(リストも含めて)印刷されません。
>選択された「リスト内の一行のみ」を印刷したいということですか?
>ちょっと、要件がわからないんですが?
>今、「別シートにデータをOFSETで飛ばして」おられるようですから、別シートではなく
>同じシートに選択された情報を転記しておけば、このシートのみで勝負がつくのでは?
>
>いずれにしても、これ以上は、要件が明確ではないのでコメントができません。
>当該のコードをすべてアップいただければ「推測」できるかもしれませんが。
説明がうまく出来なくてすみません。電気使用申込書という書式があるのですが
シートが4枚あり、各シートのデータをリストボックスで選択して入力しております。リスト選択用のシートを別に作成しておき選択して入力しております。
選択したリストを印刷用シートの同位置にリンクして印刷用シートは入力用シートからリンクした場所からオフセットしてリンクデータを参照しております。
各シートとも入力シートと印刷シートがあり印刷シートは非表示にしてあります。
データのみのシートはうまくいっているのですが、1シートのみ3ヶ所に現場の簡略図を入力なりません、印刷シートを表示させてそこに直接入力すれば良いだけのことなんですが入力者が不慣れなため出来れば非表示にしておきたいんです。
出来れば印刷ボタンを押すと自動的に図形を印刷シートにコピーして印刷終了後に印刷シートの図形のみ削除したいんです。
Sub 単線結線図印刷()
'
' 単線結線図印刷 Macro
'
Worksheets("単線結線図-入力画面").Activate
Dim namae As Shape
Dim shapecount As Integer
Dim namaOBJ() As String
Dim i As Integer
Dim sp As Shape
Dim hidari As Double
Dim t As Double
Dim s As Shape
Dim addre As String
shapecount = ActiveSheet.Shapes.Count
ReDim namaOBJ(shapecount)
For i = 18 To shapecount
namaOBJ(i) = ActiveSheet.Shapes(i).Name
'MsgBox namaOBJ(i)
Sheets("単線結線図-入力画面").Select
With Sheets("単線結線図-入力画面").Shapes(namaOBJ(i))
hidari = .Left
t = .Top
.DrawingObject.Copy
End With
With Sheets("単線結線図印刷")
.Paste
DoEvents
With .Shapes(.Shapes.Count)
.Left = hidari
.Top = t
End With
End With
Next i
'
Sheets("単線結線図-入力画面").Select
Sheets("単線結線図印刷").Visible = True
Sheets("単線結線図印刷").Select
ActiveWindow.SmallScroll Down:=12
Range("A1:AK26").Select
Range("C26").Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("単線結線図印刷").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("単線結線図-入力画面").Select
ActiveWindow.SmallScroll Down:=-33
Range("F6:T6").Select
End Sub
こんな風に作ってみたんですがうまく動作しません(削除部分はまだ作ってません)
|
|