よねさんのWordとExcelの小部屋 なんでも掲示板

HOME HELP 新規作成 新着記事 ツリー表示 トピック表示 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■13191 / inTopicNo.1)  NO TITLE
  
□投稿者/ 佐藤 -(2017/09/08(Fri) 10:41:49)
    こんにちは、よねさん。
    テキストボックスの削除をしたいです。

    Dim sht As Object
    For Each sht In ActiveWorkbook.Sheets
    sht1.TextBoxes.Delete
    Next

    ワークブックではなく、指定のシートの削除をしたいのですが
    どうすれば、よいでしょうか?

    ご教授のほど、よろしくお願いします。
引用返信/返信 削除キー/
■13192 / inTopicNo.2)  テキストボックスを削除する
□投稿者/ よねさん -(2017/09/08(Fri) 15:02:42)
    シートを指定するだけで良いと思います。
    Sheet2という名前ならこんな感じ。
    Sub test()
      Worksheets("Sheet2").TextBoxes.Delete
    End Sub
    

引用返信/返信 削除キー/
■13193 / inTopicNo.3)  Re[2]: テキストボックスを削除する
□投稿者/ 佐藤 -(2017/09/08(Fri) 17:28:28)
    ご返信ありがとうございます。

    教えていただいたコードで動かしたところ
    他のシートのテキストボックスも削除されてしまったのですが
    何か問題があるのでしょうか?
    シート指定しているので、これといって問題はないはずだと思うのですが。。。

引用返信/返信 削除キー/
■13194 / inTopicNo.4)  Re[3]: テキストボックスを削除する
□投稿者/ よねさん -(2017/09/09(Sat) 07:36:06)
    > 他のシートのテキストボックスも削除されてしまったのですが
    > 何か問題があるのでしょうか?
    Sub test()
    Worksheets("Test").TextBoxes.Delete
    End Sub
    Sheet1,Sheet2,Test,Sheet3という名前のシートがあるブックで
    このコードを実行したら、Test という名前を付けたシートのテキストボックスを
    削除することができました。
    他のシートにはTextboxは残っています。

    どんなコードを実行されたのでしょうか?
引用返信/返信 削除キー/
■13196 / inTopicNo.5)  Re[4]: テキストボックスを削除する
□投稿者/ 佐藤 -(2017/09/14(Thu) 10:32:46)
    返事が遅くなりすみません。
    下記に、コードを記載します。
    
    Sub sh_Copy()
    
    ActiveSheet.Unprotect Password:="PASS"
    
    Dim s As Shape
      For Each s In ActiveSheet.Shapes
        If Not Application.Intersect(s.TopLeftCell, Range("A1:N29")) Is Nothing Then
        If s.AutoShapeType = msoShapeOval Then
          s.Delete
        End If
        End If
      Next
      
    Dim s1 As Shape
      For Each s1 In ActiveSheet.Shapes
        If Not Application.Intersect(s1.TopLeftCell, Range("A1:N29")) Is Nothing Then
        If s1.AutoShapeType = msoShapeRoundedRectangle Then
          s1.Delete
        End If
        End If
      Next
      
     Dim sht As Object
        For Each sht In ActiveWorkbook.Sheets
           sht.TextBoxes.Delete
        Next
    
    
    
    Dim mySh As String
    
    p1:
    mySh = InputBox("いつの日程表を印刷しますか?" & Chr(13) & " 2017年1月 のように入力してください", "コピー先")
    'Worksheets("印刷用").Range("A1:N29").Value = Worksheets(mySh).Range("A1:N29").Value
    
    If mySh = "" Then Exit Sub
    
    
    
    Worksheets(mySh).Range("A1:N29").Copy Worksheets("コピー先").Range("A1")
    
    
    
    
    Range("L3").Clear
    Range("J3").Clear
    
    
    
    Dim s2 As Shape
      For Each s2 In ActiveSheet.Shapes
        If Not Application.Intersect(s2.TopLeftCell, Range("A1:N5")) Is Nothing Then
        If s2.AutoShapeType = msoShapeOval Then
          s2.Delete
        End If
        End If
      Next
      
    Dim s3 As Shape
      For Each s3 In ActiveSheet.Shapes
        If Not Application.Intersect(s3.TopLeftCell, Range("A1:N5")) Is Nothing Then
        If s3.AutoShapeType = msoShapeRoundedRectangle Then
          s3.Delete
        End If
        End If
      Next
    
    Worksheets("Sheet2").TextBoxes.Delete
    
    ActiveSheet.Protect Password:="PASS"
    
    End Sub
    

引用返信/返信 削除キー/
■13197 / inTopicNo.6)  Re[5]: テキストボックスを削除する
□投稿者/ よねさん -(2017/09/14(Thu) 15:27:03)
    コードを見ただけですが、途中に
    Dim sht As Object
        For Each sht In ActiveWorkbook.Sheets
           sht.TextBoxes.Delete
        Next
    End Sub
    
    とあるので、すべてのシートから削除されるのは
    これがあるからと思います。
    

引用返信/返信 削除キー/
■13198 / inTopicNo.7)  Re[6]: テキストボックスを削除する
□投稿者/ 佐藤 -(2017/09/20(Wed) 11:54:25)
    初歩的なミスでした!すみません。
    特定シートのオブジェクトを削除することができました
    ありがとうございます!
引用返信/返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

Pass/

HOME HELP 新規作成 新着記事 ツリー表示 トピック表示 検索 過去ログ

- Child Tree -