戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
〇のある列以外を削除して印刷シート part3

    [195541] 〇のある列以外を削除して印刷シート part3-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ ゆきな -(2023/01/25(11:54))
    □U R L/
      kazuo様
      これで最後にしますので、もう少しお力かしてください。
      
      下記VBAに追加で、今まではA列に〇のみで考えておりましたが、A列の必要箇所に@〜Dを入力する
      ようにします。
      @をソート印刷をして、以降A、B、C、Dがあれば、Dまで印刷を行い、A以降がなければ印刷をしない
      ようにはできないでしょうか?
      よろしく願い致します。
      
        A B
      1 @ あ
      2   あ
      3 A あ
      4 A あ
      5   あ
      6   あ
      7   あ
      8 B あ
      9   あ
      10 
      
      
      Sub フィルター貼り付け()
          Dim rw As Long
         
          With ActiveSheet
              .Range("A3:L4").CurrentRegion.AutoFilter 1, "〇"
              rw = 4 - .AutoFilter.Range.Row
              .AutoFilter.Range.Offset(rw).Resize(.AutoFilter.Range.Rows.Count - rw).Copy _
                  Worksheets("印刷").Range("A4")
              .AutoFilterMode = False
          End With
      End Sub
      
      上記VBAに下記のVBAを含めてもらえないでしょうか?
      (理解できないで作成しているので不要な箇所は多々あると思います)
      
        Sheets("印刷").Select
          Range("Z1:Z4").Copy
          Range("A3").Select
          Selection.End(xlDown).Select
          ActiveCell.Offset(2, 1).Select
          
          ActiveSheet.Paste
          
          Application.CutCopyMode = True
          
          Range("B4:B12").Select
          With Selection.Font
              .ColorIndex = xlAutomatic
              .TintAndShade = 0
          End With
          
          Range("A4:A7").Select
          Selection.NumberFormatLocal = ";;;"
          
          
           Range("B1:L12").Select
          ActiveSheet.PageSetup.PrintArea = "$B$1:$L$12"
          Application.PrintCommunication = False
          
          Application.PrintCommunication = True
          ActiveSheet.PageSetup.PrintArea = "$B$1:$L$12"
          Application.PrintCommunication = False
          With ActiveSheet.PageSetup
              
              .LeftMargin = Application.InchesToPoints(0)
              .RightMargin = Application.InchesToPoints(0)
              .TopMargin = Application.InchesToPoints(0.75)
              .BottomMargin = Application.InchesToPoints(0.55)
              .HeaderMargin = Application.InchesToPoints(0)
              .FooterMargin = Application.InchesToPoints(0)
              .PrintHeadings = False
              .PrintGridlines = False
              .PrintComments = xlPrintNoComments
              .PrintQuality = 600
              .CenterHorizontally = False
              .CenterVertically = False
              .Orientation = xlLandscape
              .Draft = False
              .PaperSize = xlPaperA5
              .FirstPageNumber = xlAutomatic
              .Order = xlDownThenOver
              .BlackAndWhite = False
              .Zoom = False
              .FitToPagesWide = 1
              .FitToPagesTall = 1
              .PrintErrors = xlPrintErrorsDisplayed
              .OddAndEvenPagesHeaderFooter = False
              .DifferentFirstPageHeaderFooter = False
              .ScaleWithDocHeaderFooter = True
              .AlignMarginsHeaderFooter = True
              
          End With
              
          ActiveWindow.SelectedSheets.PrintOut ActivePrinter:="AAA"
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [195554] Re[1]: 〇のある列以外を削除して印刷シート part3-

    記事引用/メール受信=OFF■

    □投稿者/ kazuo -(2023/01/26(15:23))
    □U R L/

      〇のある列以外を削除して印刷シート part2 での指摘漏れです。
      >kazuo様
      このような無償の質問掲示板では、特に新しくスレを立てる場合は回答者を指定しての質問はお控え下さい。
      理由は、、、お考え下さい。

      >これで最後にしますので、もう少しお力かしてください。
      別に気にすることは無いです。
      資源を有効活用して、業務の効率化・生産性の向上に努めて下さい。




    [195555] Re[2]: 〇のある列以外を削除して印刷シート part3-

    記事引用/メール受信=OFF■

    □投稿者/ kazuo -(2023/01/26(16:16))
    □U R L/

      質問です。
      変更の無い点
      1."データー"シートのA4〜L列(データのある)最終行セルまでのデータに対して行う。
      2."データー"シートのA列の値が指定値(〇)の行のみコピーする。
      3."印刷"シートのA4以降に貼り付ける。

      変更点
      2."データー"シートのA列の値が指定値(@ABCD)の行のみコピーする。
      4."印刷"シートをセットアップし、印刷する

      ここまでは良いですか?

      印刷手順は、
      ・指定値(@ABCD)の順でそれぞれを都度コピ・ペし、まとめて印刷するのですか?
      ・それとも@のみコピ・ペし印刷、Aのみコピ・ペし....、Dのみコピ・ペし印刷するのですか?

      "印刷"シートのZ1:Z4はどのセルにコピペしたいのですか?
      ・B4セルですか?

      "データー"シートからコピーされた書式を変えるのですか?
      ・B列は文字色変更。
      ・A列の文字は表示しない(印刷範囲外なので不要では?)。
      ・"印刷"シートは印刷以外にも使用するのですか?
       ・もし、コピ・ペデータが無かったら前のまま残すのですか?全て消すのですか?




    [195556] Re[3]: 〇のある列以外を削除して印刷シート part3-

    記事引用/メール受信=OFF■

    □投稿者/ ゆきな -(2023/01/26(22:45))
    □U R L/

      kazuo様
      色々と申訳ありません。
      名前を指定するのは良くないとは思っておりますが、過去のやり取りを
      リンクしにくいと思いまして、指名させていただきました。


      dataシートの値は次のようです。
        A  B C D E F G H I J K L
      1 あ あ あ あ あ あ あ あ あ あ あ
      2 あ あ あ あ あ あ あ あ あ あ あ
      3 あ あ あ あ あ あ あ あ あ あ あ
      4  @ あ い う え お あ いう え お あ
      5    あ い う え お あ いう え お あ
      6  A あ い う え お あ いう え お あ
      7  A あ い う え お あ いう え お あ
      8    あ い う え お あ いう え お あ
      9  B あ い う え お あ いう え お あ
      10 B あ い う え お あ いう え お あ
      11    あ い う え お あ いう え お あ
      12 B あ い う え お あ いう え お あ
      13 
      14

      上記の場合、
      (A列に@が1個あるので、印刷シートへは次のようになり、B1からL12の範囲を印刷
       
        A  B C D E F G H I J K L
      1 あ あ あ あ あ あ あ あ あ あ あ
      2 あ あ あ あ あ あ あ あ あ あ あ
      3 あ あ あ あ あ あ あ あ あ あ あ
      4  @ あ い う え お あ い う え お あ
      5
      6    ああ・・・(Z1からコピペしたあたい)



      次に(A列にAが2個あるので、印刷シートへは次のようになり、B1からL12の範囲を印刷
       
        A  B C D E F G H I J K L
      1 あ あ あ あ あ あ あ あ あ あ あ
      2 あ あ あ あ あ あ あ あ あ あ あ
      3 あ あ あ あ あ あ あ あ あ あ あ
      4  A あ い う え お あ い う え お あ
      5  A あ い う え お あ い う え お あ
      6 
      7    ああ・・・(Z1からコピペしたあたい)
      8    ああ・・・(Z2からコピペしたあたい)
      9

      次に(A列にBが3個あるので、印刷シートへは次のようになり、B1からL12の範囲を印刷
       
        A  B C D E F G H I J K L
      1 あ あ あ あ あ あ あ あ あ あ あ
      2 あ あ あ あ あ あ あ あ あ あ あ
      3 あ あ あ あ あ あ あ あ あ あ あ
      4
      5  B あ い う え お あ い う え お あ
      6  B あ い う え お あ い う え お あ
      7  B あ い う え お あ い う え お あ
      8
      9    ああ・・・(Z1からコピペしたあたい)
      10   ああ・・・(Z2からコピペしたあたい)
      11   ああ・・・(Z3からコピペしたあたい)

      A列にC、Dがあれば同じように繰り返し、なければ@印刷、A印刷、B印刷で終了です。
      @で終了とか@とAで終了とか変動します。入れてもD以上はないと思っています。

      よろしくお願いいたします。




    [195560] Re[4]: 〇のある列以外を削除して印刷シート part3-

    記事引用/メール受信=OFF■

    □投稿者/ kazuo -(2023/01/27(14:58))
    □U R L/
      3行目まではよくわからないので、記載しておりません。
      書式についても回答無いので、指定しておりません。
      該当データが無い場合は以前のままとしています。
      Range("Z1:Z4").Copy →B説明図の.Range("Z1:Z3").Copyとしています。
      印刷範囲は上記ペーストした行までとしています。
      
      Sub main()
          Dim cSt As String
          Dim i As Long
          Dim rw As Long
          Dim dSh As Worksheet
          Dim pSh As Worksheet
          Dim dRng As Range
          
          
          cSt = "@ABCD"
          Set dSh = Worksheets("data")
          Set pSh = Worksheets("印刷")
          
          pSetUp pSh
          
          With dSh
              .AutoFilterMode = False
              For i = 1 To Len(cSt)
                  .Range("A3:L4").CurrentRegion.AutoFilter 1, Mid$(cSt, i, 1)
                  rw = 4 - .AutoFilter.Range.Row
                  On Error Resume Next
                  Set dRng = Nothing
                  Set dRng = .AutoFilter.Range.Offset(rw) _
                      .Resize(.AutoFilter.Range.Rows.Count - rw).SpecialCells(xlCellTypeVisible)
                  On Error GoTo 0
                  If dRng Is Nothing Then Exit For
                  印刷 pSh, dRng
              Next
              .AutoFilterMode = False
          End With
      End Sub
      
      Private Sub 印刷(sh As Worksheet, dRng As Range)
          With sh
              .Range("A4", .Cells(.Rows.Count, "A")).ClearContents
              dRng.Copy .Range("A4")
              .UsedRange.Offset(.Cells(.Rows.Count, "A").End(xlUp).Row).EntireRow.Delete
              .Range("Z1:Z3").Copy .Cells(.Rows.Count, "B").End(xlUp).Offset(2)
              .PageSetup.PrintArea = .Range("L1", .Cells(.Rows.Count, "b").End(xlUp)).Address
      '        .PrintOut Preview:=True
              .PrintOut ActivePrinter:="AAA"      '私には無い
          End With
      End Sub
      
      Private Sub pSetUp(sh As Worksheet)
          Application.PrintCommunication = False
          With sh.PageSetup
              .LeftMargin = Application.InchesToPoints(0)
              .RightMargin = Application.InchesToPoints(0)
              .TopMargin = Application.InchesToPoints(0.75)
              .BottomMargin = Application.InchesToPoints(0.55)
              .HeaderMargin = Application.InchesToPoints(0)
              .FooterMargin = Application.InchesToPoints(0)
              .PrintHeadings = False
              .PrintGridlines = False
              .PrintComments = xlPrintNoComments
              .PrintQuality = 600                '私のドライバーには無い
              .CenterHorizontally = False
              .CenterVertically = False
              .Orientation = xlLandscape
              .Draft = False
              .PaperSize = xlPaperA5
              .FirstPageNumber = xlAutomatic
              .Order = xlDownThenOver
              .BlackAndWhite = False
              .Zoom = False
              .FitToPagesWide = 1
              .FitToPagesTall = 1
              .PrintErrors = xlPrintErrorsDisplayed
              .OddAndEvenPagesHeaderFooter = False
              .DifferentFirstPageHeaderFooter = False
              .ScaleWithDocHeaderFooter = True
              .AlignMarginsHeaderFooter = True
          End With
          Application.PrintCommunication = True
      End Sub
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [195561] Re[5]: 〇のある列以外を削除して印刷シート part3-

    記事引用/メール受信=OFF■

    □投稿者/ ゆきな -(2023/01/27(22:40))
    □U R L/

      kazuo様
      本当にありがとうございます。

      後、1点だけお願いいたします。

      T1とU1かセルらZ4セルに関数をいれてあります。
      T1セルに=IF($C$4="","",$C$4)
      U1セルに=IF($H$4="","",$H$4)
      U2セルに=IF(($V$2<>"")+($W$2<>"")+($X$2<>"")<1,"",$H$5)
      U3セルに=IF(($V$3<>"")+($W$3<>"")+($X$3<>"")<1,"",$H$6)
      U4セルに=IF(($V$4<>"")+($W$4<>"")+($X$4<>"")<1,"",$H$7)
      V1セルに=IF($A$4="","",(IF(AND($J$4>$P$1,$J$4<$P$1+50),"迫ってます。",IF(AND($J$4<$P$1,$J$4>0),"切れです。",""))))
      V2セルに=IF($A$5="","",(IF(AND($J$5>$P$1,$J$5<$P$1+50),"迫ってます。",IF(AND($J$5<$P$1,$J$5>0),"切れです。",""))))
      V3セルに=IF($A$6="","",(IF(AND($J$6>$P$1,$J$6<$P$1+50),"迫ってます。",IF(AND($J$6<$P$1,$J$6>0),"切れです。",""))))
      V4セルに=IF($A$7="","",(IF(AND($J$7>$P$1,$J$7<$P$1+50),"迫ってます。",IF(AND($J$7<$P$1,$J$7>0),"切れです。",""))))
      W1セルに=IF($A$4="","",IF(AND($K$4>$P$1,$K$4<$P$1+50),"迫ってます。",IF(AND($K$4<$P$1,$K$4>0),"切れです。","")))
      W2セルに=IF($A$5="","",IF(AND($K$5>$P$1,$K$5<$P$1+50),"迫ってます。",IF(AND($K$5<$P$1,$K$5>0),"切れです。","")))
      W3セルに=IF($A$4="","",IF(AND($K$6>$P$1,$K$6<$P$1+50),"迫ってます。",IF(AND($K$6<$P$1,$K$6>0),"切れです。","")))
      W4セルに=IF($A$4="","",IF(AND($K$7>$P$1,$K$7<$P$1+50),"迫ってます。",IF(AND($K$7<$P$1,$K$7>0),"切れです。","")))
      Y1セルに=IF($A$4="","",IF(AND($G$4>$P$1,$G$4<$P$1+50),"提出願います。",IF(AND($G$4<$P$1,$G$4>0),"切れです。","")))
      Y2セルに=IF($A$5="","",IF(AND($G$5>$P$1,$G$5<$P$1+50),"提出願います。",IF(AND($G$5<$P$1,$G$5>0),"切れです。","")))
      Y3セルに=IF($A$4="","",IF(AND($G$6>$P$1,$G$6<$P$1+50),"提出願います。",IF(AND($G$6<$P$1,$G$6>0),"切れです。","")))
      Y4セルに=IF($A$4="","",IF(AND($G$7>$P$1,$G$7<$P$1+50),"提出願います。",IF(AND($G$7<$P$1,$G$7>0),"切れです。","")))
      Z1セルに=IF($U$1="","",$Y$1&$U$1&"の"&$V$1&$W$1&$X$1&"ご提出お願い致します。")
      Z2セルに=IF($U$2="","",$Y$2&$U$2&"の"&$V$2&$W$2&$X$2&"ご提出お願い致します。")
      Z3セルに=IF($U$3="","",$U$3&"の"&$V$3&$W$3&$X$3&"ご提出お願い致します。")
      Z4セルに=IF($U$4="","",$U$4&"の"&$V$4&$W$4&$X$4&"ご提出お願い致します。")


      下記VBAを実行させると、U2からZ4の関数のセル値が不明になりセル値がREF!となり、U2からZ4セルが#REF!表示になってしまいます。
      後、@の場合B5(本当1行空けてB6がいいです)にZ1からZ4をコピペした値の文字色が白色になってしまい文字が見えなくなってしまいます。

      .UsedRange.Offset(.Cells(.Rows.Count, "A").End(xlUp).Row).EntireRow.Delete

      本当に申し訳ありませんが、よろしくお願いいたします。






    [195567] Re[6]: 〇のある列以外を削除して印刷シート part3-

    記事引用/メール受信=OFF■

    □投稿者/ kazuo -(2023/01/28(20:24))
    □U R L/

      何故、質問やアドバイスに答えない。
      何故、言い訳をする。
      資源を有効活用出来るかは、ゆきなさんのスキルです。

      Delete → clear

      私はここまでとします。




    [195573] Re[7]: 〇のある列以外を削除して印刷シート part3-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ ゆきな -(2023/01/30(09:09))
    □U R L/

      kazuo様

      申し訳ありませんでした。

      質問を読み落としていた所がありました。

      説明がうまく伝えられないので、私なりの返答していましたが、それが
      間違っていました。

      今後は気をつけます。

      ありがとうございました。



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G