Excel VBA質問箱 IV

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

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


8951 / 13644 ツリー ←次へ | 前へ→

【29985】条件で抽出して日付で管理したいのですが... しんしん 05/10/17(月) 18:41 質問[未読]
【29994】Re:条件で抽出して日付で管理したいのです... Kein 05/10/17(月) 20:38 回答[未読]
【30002】Re:条件で抽出して日付で管理したいので... しんしん 05/10/18(火) 6:46 お礼[未読]
【30153】Re:条件で抽出して日付で管理したいので... しんしん 05/10/20(木) 18:47 質問[未読]

【29985】条件で抽出して日付で管理したいのですが...
質問  しんしん  - 05/10/17(月) 18:41 -

引用なし
パスワード
   初めて質問させていただきます。
場所が東京(大阪はいりません)のデータだけを1行ごと(日付ごと)違う名前のワークシートにコピーして貼り付けをして保存したいのですが、上手くいきません。以下の場合は3つのワークシートができると思います。
ワークシート名は 日付_番号にしたいので 1つ目は 17-Oct-05_18976011.xls、2つ目は 19-Oct-05_10370483.xls のようにしたいのですが、なにぶん初心者なもので、まったく上手くいきません。どなたかご教授ください。 ファイルの保存先は全て同じです。


日付       番号      場所
17-Oct-05      18976011   Tokyo
18-Oct-05      25423718   Osaka
19-Oct-05      10370483   Tokyo
20-Oct-05      25409543   Tokyo

【29994】Re:条件で抽出して日付で管理したいので...
回答  Kein  - 05/10/17(月) 20:38 -

引用なし
パスワード
   こんな感じで出来ると思います。

Sub Data転記()
  Dim MyR As Range, C As Range
  Dim Sh As Worksheet
  Dim Anm As String, Snm As String

  Anm = ActiveSheet.Name
  Application.ScreenUpdating = False
  Set MyR = Range("C2", Range("C65536").End(xlUp))
  Range("C:C").AutoFilter 1, "Tokyo"
  On Error GoTo ELine
  Set MyR = MyR.SpecialCells(12)
  On Error GoTo 0
  On Error GoTo NLine
  For Each C In MyR
   Snm = C.Offset(, -2).Text & "_" & C.Offset(, -1).Text
   Set Sh = Worksheets(Snm)
   C.EntireRow.Copy Sh.Range("A65536").End(xlUp).Offset(1)
  Next
  Set MyR = Nothing
  Sheets(Anm).AutoFilterMode = False
  Application.ScreenUpdating = True: Exit Sub
ELine:
  MsgBox "Tokyo の入力セルが見つかりません", 48
  Application.ScreenUpdating = True
  Sheets(Anm).AutoFilterMode = False: Exit Sub
NLine:
  Set Sh = Worksheets.Add(After:=Worksheets(Worksheets.Count))
  Sh.Name = Snm: Err.Clear
  Resume Next
End Sub   

【30002】Re:条件で抽出して日付で管理したいので...
お礼  しんしん  - 05/10/18(火) 6:46 -

引用なし
パスワード
   Keinさん、

ご親切にありがとうございます。
さっそく会社に行ってから試したいと思います。
ありがとうございました。


▼Kein さん:
>こんな感じで出来ると思います。
>
>Sub Data転記()
>  Dim MyR As Range, C As Range
>  Dim Sh As Worksheet
>  Dim Anm As String, Snm As String
>
>  Anm = ActiveSheet.Name
>  Application.ScreenUpdating = False
>  Set MyR = Range("C2", Range("C65536").End(xlUp))
>  Range("C:C").AutoFilter 1, "Tokyo"
>  On Error GoTo ELine
>  Set MyR = MyR.SpecialCells(12)
>  On Error GoTo 0
>  On Error GoTo NLine
>  For Each C In MyR
>   Snm = C.Offset(, -2).Text & "_" & C.Offset(, -1).Text
>   Set Sh = Worksheets(Snm)
>   C.EntireRow.Copy Sh.Range("A65536").End(xlUp).Offset(1)
>  Next
>  Set MyR = Nothing
>  Sheets(Anm).AutoFilterMode = False
>  Application.ScreenUpdating = True: Exit Sub
>ELine:
>  MsgBox "Tokyo の入力セルが見つかりません", 48
>  Application.ScreenUpdating = True
>  Sheets(Anm).AutoFilterMode = False: Exit Sub
>NLine:
>  Set Sh = Worksheets.Add(After:=Worksheets(Worksheets.Count))
>  Sh.Name = Snm: Err.Clear
>  Resume Next
>End Sub

【30153】Re:条件で抽出して日付で管理したいので...
質問  しんしん  - 05/10/20(木) 18:47 -

引用なし
パスワード
   Keinさん、

再び質問させてください。
私の意図するところはワークシートではなくワークブックの間違えでした。すいません、用語もわからない初心者をお許しください。

ワークブックの名前は"日付_番号".xls にしたいと思います。
例えば”17-Oct-05_18976011".xls というような感じです。ワークブックは3つできるはずでそれぞれ保存先は同じです。日付、番号の定義、保存の仕方がわかりません。
よろしくご教授くださいませ。

日付       番号      場所
17-Oct-05      18976011   Tokyo
18-Oct-05      25423718   Osaka
19-Oct-05      10370483   Tokyo
20-Oct-05      25409543   Tokyo

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