返回列表 上一主題 發帖

請教,如何隱藏儲存格內的圖片?如何快速指定列印頁?

回復 1# eigen
  1. Option Explicit
  2. Sub Ex()
  3.     '**********************************************
  4.     '在Sheets("輸入")中滑鼠選擇要印列的支票 ,執行此程式
  5.     '**********************************************
  6.     Dim E As Range
  7.     Sheets("輸入").Activate   
  8.     For Each E In Selection.EntireRow   
  9.         If E.Row > 1 And E.Range("B1") <> 0 And Application.CountA(E.Range("A1:G1")) = 7 Then
  10.             'E.Row > 1                                      ->第2列以後的資料
  11.             'E.Range("B1") <> 0                             ->作廢
  12.             'Application.CountA(E.Range("A1:G1")) = 7       ->支票資料要齊全
  13.             With Sheets("支票頁")
  14.                 .Range("A1:G10").Name = "Print_Area"         '印列範圍(一張支票:可先調整印列紙張的大小)
  15.                 .[A4] = E.Range("E1")                        '填上 :支票的資料
  16.                 .[A5] = E.Range("C1")
  17.                 .[A6] = E.Range("C1")
  18.                 .[A7] = E.Range("F1")
  19.                 .[A9] = E.Range("G1").Text
  20.                 .[D3] = E.Range("D1")
  21.                 .[D4] = exchange(E.Range("F1"))
  22.                 .[C5] = E.Range("F1")
  23.                 .[E2].Resize(, 3) = Split(E.Range("E1").Text, "/")
  24.                 .Pictures.Visible = True                                '顯示 圖片
  25.                 If E.Range("B1") <> 1 Then .Pictures.Visible = False    '隱藏 圖片
  26.                 .PrintOut                                               '印列
  27.             End With
  28.         End If
  29.    Next
  30. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2013-10-27 16:01 編輯

回復 3# eigen
2# 的程式碼 只需在支票頁設計一張支票,就可印列輸入表中所有的支票
你說: 我是希望在改變 狀態時, 相對應支票上的圖就會改變
2#這兩行程式碼 可依B欄的狀態,相對應支票上的圖就會改變
  1. .Pictures.Visible = True                                '顯示 圖片
  2. If E.Range("B1") <> 1 Then .Pictures.Visible = False    '隱藏 圖片
複製代碼
依你檔案改變狀態時,的程式碼.
輸入工作表模組的預設事件程式碼
  1. Option Explicit
  2. Private Sub Worksheet_Change(ByVal Target As Range)
  3.     If Target.Column = 2 And (Target.Row >= 2 And Target.Row <= 51) Then
  4.         Sheets("支票頁").Shapes("圖片 " & Target.Row - 1).Visible = False
  5.         If Target = 1 Then Sheets("支票頁").Shapes("圖片 " & Target.Row - 1).Visible = True
  6.     End If
  7. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 6# eigen
50張全部列印       ->2#程式: 全選所有支票
指定頁數的方式列印  ->2#程式: 可選擇要印列的支票
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2013-10-27 16:01 編輯

回復 8# eigen
再試試看看
  1. Option Explicit
  2. Private Sub Worksheet_Change(ByVal Target As Range)
  3.     Dim E As Range
  4.     For Each E In Target.Cells
  5.         If E.Column = 2 And (E.Row >= 2 And E.Row <= 51) Then
  6.             Sheets("支票頁").Shapes("圖片 " & E.Row - 1).Visible = False
  7.             If E = 1 Then Sheets("支票頁").Shapes("圖片 " & E.Row - 1).Visible = True
  8.         End If
  9.     Next
  10. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 一個人不怕錯,就怕不改過,改過並不難。
返回列表 上一主題