Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


33 / 13055 ツリー ←次へ | 前へ→

【79372】Sheetコピー後に1列分の文字をSheet名に繰り返す マリモ 17/9/7(木) 10:19 質問[未読]

【79374】Re:Sheetコピー後に1列分の文字をSheet名に... マナ 17/9/7(木) 17:10 発言[未読]
【79376】Re:Sheetコピー後に1列分の文字をSheet名に... マリモ 17/9/8(金) 9:20 質問[未読]
【79381】Re:Sheetコピー後に1列分の文字をSheet名に... マナ 17/9/8(金) 19:42 発言[未読]
【79383】Re:Sheetコピー後に1列分の文字をSheet名に... マリモ 17/9/11(月) 12:50 お礼[未読]

【79374】Re:Sheetコピー後に1列分の文字をSheet名...
発言  マナ  - 17/9/7(木) 17:10 -

引用なし
パスワード
   ▼マリモ さん:

まずは「マクロの記録」で
シートのコピーとシートの名前変更
について調べるところから
はじめてはいかがでしょうか。

【79376】Re:Sheetコピー後に1列分の文字をSheet名...
質問  マリモ  - 17/9/8(金) 9:20 -

引用なし
パスワード
   マナ様

ご助言
ありがとうございます。

「マクロの記録」の結果は下記の通りでございます。
------------------------------------------------
Sub demo1()
'
' demo1 Macro
'

'
  Sheets("元").Copy Before:=Sheets(3)
  Sheets("Sheet1").Select
  Range("A1").Select
  Selection.Copy
  Sheets("元 (2)").Select
  Sheets("元 (2)").Name = "りんご"
  Sheets("元").Select
  Application.CutCopyMode = False
  Sheets("元").Copy Before:=Sheets(4)
  Sheets("Sheet1").Select
  Range("A2").Select
  Selection.Copy
  Sheets("元 (2)").Select
  Sheets("元 (2)").Name = "ブドウ"
  Sheets("元").Select
  Application.CutCopyMode = False
  Sheets("元").Copy Before:=Sheets(5)
  Sheets("Sheet1").Select
  Range("A3").Select
  Selection.Copy
  Sheets("元 (2)").Select
  Sheets("元 (2)").Name = "なし"
  Sheets("元").Select
  Application.CutCopyMode = False
  Sheets("元").Copy Before:=Sheets(6)
  Sheets("Sheet1").Select
  Range("A4").Select
  Selection.Copy
  Sheets("元 (2)").Select
  Sheets("元 (2)").Name = "いちじく"
  Sheets("元").Select
  Application.CutCopyMode = False
  Sheets("元").Copy Before:=Sheets(7)
  Sheets("Sheet1").Select
  Range("A5").Select
  Selection.Copy
  Sheets("元 (2)").Select
  Application.Width = 999.75
  Application.Height = 387
  Application.Left = 355
  Application.Top = 300.25
  Application.Width = 1088.25
  Application.Height = 387
  Sheets("元 (2)").Name = "かき"
  Range("L7").Select
End Sub
------------------------------------------------

上記の工程をループをつかってスマートにできないか
考えております。
ちなみにSheet1のA列の行は177行ございます。

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

【79381】Re:Sheetコピー後に1列分の文字をSheet名...
発言  マナ  - 17/9/8(金) 19:42 -

引用なし
パスワード
   ▼マリモ さん:

記録されたマクロは、こんな感じで書き換えることができます。
これをA1からA177まで繰り返すように修正してみてください。

-----

Sub demo1()

  Sheets("元").Copy Before:=Sheets(3)
  Sheets("元 (2)").Name = Sheets("Sheet1").Range("A1").Value '"りんご"

  Sheets("元").Copy Before:=Sheets(4)
  Sheets("元 (2)").Name = Sheets("Sheet1").Range("A2").Value '"ブドウ"

  Sheets("元").Copy Before:=Sheets(5)
  Sheets("元 (2)").Name = Sheets("Sheet1").Range("A3").Value ' "なし"

  Sheets("元").Copy Before:=Sheets(6)
  Sheets("元 (2)").Name = Sheets("Sheet1").Range("A4").Value ' "いちじく"
  
  Sheets("元").Copy Before:=Sheets(7)
  Sheets("元 (2)").Name = Sheets("Sheet1").Range("A5").Value '"かき"

End Sub


-----

このあたりを勉強するとよいです。

シートをコピーする 
ht tp://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_sheet.html#copy

繰り返し処理
ht tp://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_for_next.html

【79383】Re:Sheetコピー後に1列分の文字をSheet名...
お礼  マリモ  - 17/9/11(月) 12:50 -

引用なし
パスワード
   マナ様

解決いたしました。

ご教示くださいまして
ありがとうございました。

33 / 13055 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free