[[20170524200919]] 『新規シートに特定のセルをコピーしたい』(おいし) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『新規シートに特定のセルをコピーしたい』(おいし)

”原紙”というシートがあり、そのシートをコピーし名前を変更した後、
”原紙”の "a1"セルを新規シートの"a5"にコピーしたいのですがどうすればよろしいでしょうか?

新規シートをコピーして名前の変更は以下の方法で作りました。

Sub MkNewSht()
Dim mySht As String

mySht = InputBox("シート名を入力して下さい")

Sheets("原紙").Copy After:=Sheets("原紙")
Sheets("原紙 (2)").Select

Sheets("原紙 (2)").Name = mySht
Range("x4").Select
ActiveCell.FormulaR1C1 = mySht
Range("ah4").Select

Dim shp As Shape

  For Each shp In ActiveSheet.Shapes
    shp.Delete
  Next shp

End Sub

ややこしいですが、どうぞよろしくお願いします。

< 使用 Excel:Excel2003、使用 OS:Windows7 >


こんな感じでしょうか。

Option Explicit

Sub MkNewSht()

 Dim mySht As String
 Dim shp As Shape

 Dim newSht As Worksheet

 Dim myvalue As String
  mySht = InputBox("シート名を入力して下さい")

  '新規シート名が入力されてなっかたり、キャンセルされた場合終了
  If mySht = "" Or mySht = "False" Then Exit Sub
  '既存のシート名と重複してないかのチェック
  On Error Resume Next
  Err.Clear
  myvalue = Worksheets(mySht).Cells(1, 1).Value
  If Err.Number = 0 Then
     MsgBox "既に使われているシート名です"
     Exit Sub
  End If
  On Error GoTo 0
  'シートのコピー
  Sheets("原紙").Copy After:=Sheets("原紙")
  'アクティブシート
  Set newSht = ActiveSheet
  'シート名変更
  newSht.Name = mySht
  '新規シートのx4に新規シート名を入力
  newSht.Range("X4").Value = mySht
  '新規シートのA5に原紙シートのA1のセルの値を転記
  newSht.Range("A5").Value = Worksheets("原紙").Range("A1").Value 
  '新規シートの全てのシェイプ等を削除
  newSht.DrawingObjects.Delete
  Set newSht = Nothing
End Sub
(カリーニン) 2017/05/24(水) 21:13

カリーニンさま
ありがとうございます!!
思った通りになってます。すごいです
遅くなりましたが本当に感謝しております!
(おいし) 2017/05/27(土) 14:33

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.