Excel VBA質問箱 IV

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

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


5843 / 13646 ツリー ←次へ | 前へ→

【48504】シートコピーの編集方法で悩んでいます。 質問(煮詰まった) 07/4/19(木) 18:09 質問[未読]
【48511】Re:シートコピーの編集方法で悩んでいます。 ウッシ 07/4/20(金) 10:20 発言[未読]
【48516】Re:シートコピーの編集方法で悩んでいます。 質問(煮詰まった) 07/4/20(金) 11:47 質問[未読]
【48519】Re:シートコピーの編集方法で悩んでいます。 ウッシ 07/4/20(金) 12:25 発言[未読]
【48522】Re:シートコピーの編集方法で悩んでいます。 質問(煮詰まった) 07/4/20(金) 13:14 発言[未読]
【48526】Re:シートコピーの編集方法で悩んでいます。 ウッシ 07/4/20(金) 14:02 発言[未読]
【48530】Re:シートコピーの編集方法で悩んでいます。 ウッシ 07/4/20(金) 15:43 発言[未読]
【48592】Re:シートコピーの編集方法で悩んでいます。 質問(煮詰まった) 07/4/24(火) 10:16 発言[未読]
【48594】Re:シートコピーの編集方法で悩んでいます。 ウッシ 07/4/24(火) 10:39 発言[未読]
【48600】Re:シートコピーの編集方法で悩んでいます。 質問(煮詰まった) 07/4/24(火) 16:28 質問[未読]
【48602】Re:シートコピーの編集方法で悩んでいます。 ウッシ 07/4/24(火) 16:53 発言[未読]

【48504】シートコピーの編集方法で悩んでいます。
質問  質問(煮詰まった)  - 07/4/19(木) 18:09 -

引用なし
パスワード
   少々悩んでいます、教えて下さい。
シート内にあるデータを画面指定の条件にて、データを抽出して
印刷しようとしています。
元シートと印刷用シートを準備しました。
元シートから印刷用シートに内容を抽出して印刷すれば
よさそうなのですが、
条件は、条件画面から日付(年月)を指定して印刷用シートに
内容コピーして印刷しようとしています。
また、1枚のシートに何行あるかわかりませんが1つの区切りが
物件名:〜コード:で1くくりのデータになります。

また印刷する条件は、物件名:の次の行に必ず画面抽出指定の
日付が入ります。

画面指定した年月の分の物件名:〜コード:を印刷したいのですが・・・

うまい方法があればお教え下さい。

イメージは以下のデータです。

物件名:ジャスコ
0704
ユニーク行1
ユニーク行2
ユニーク行3
ユニーク行4
ユニーク行5
ユニーク行6
ユニーク行7
ユニーク行8
ユニーク行9
ユニーク行10
取引先名称
コード:111111

宜しくお願いします。

例)

物件名:ジャスコ
0704
ユニーク行1
ユニーク行2
ユニーク行3
ユニーク行4
ユニーク行5
ユニーク行6
ユニーク行7
ユニーク行8
ユニーク行9
ユニーク行10
取引先名称
コード:111111
物件名:イトーようかどう
0705
ユニーク行1
ユニーク行2
ユニーク行3
ユニーク行4
ユニーク行5
ユニーク行6
ユニーク行7
ユニーク行8
ユニーク行9
ユニーク行10
取引先名称
コード:222222
・・・・・・・・・

【48511】Re:シートコピーの編集方法で悩んでいま...
発言  ウッシ  - 07/4/20(金) 10:20 -

引用なし
パスワード
   こんにちは

詳細は全く分かりませんが、

指定した年月をFindで探して、見つかったらそのセルの一つ上の「物件名〜」のセルから、
その下方を「コード*」でFindして見つかったセルまでを処理してはどうでしょうか?

【48516】Re:シートコピーの編集方法で悩んでいま...
質問  質問(煮詰まった)  - 07/4/20(金) 11:47 -

引用なし
パスワード
   アドバイスありがとうございました。
FINDを使用してみます。

例えば B列に下記のデータを用意すると

0704   (シートのB2セル)

物件名:あああああ (シートのB4セル)
0704
11111
22222
33333
44444
55555
666666
コード:11111     (シートのB12セル)

とした場合、

0704を捜すコマンドとしては
=FIND(B2,B4:B12,1)
でいきますか?

このあと、コード:を再度検索すればいいと思いますが


複数ある場合の措置など必要かと思うので何か

アドバイスなどあればお願いします。

【48519】Re:シートコピーの編集方法で悩んでいま...
発言  ウッシ  - 07/4/20(金) 12:25 -

引用なし
パスワード
   こんにちは

何度も質問されている方ですよね。>質問(煮詰まった)さん

>0704を捜すコマンドとしては
> =FIND(B2,B4:B12,1)
って、VBAで処理されるのではないのですか?

【48522】Re:シートコピーの編集方法で悩んでいま...
発言  質問(煮詰まった)  - 07/4/20(金) 13:14 -

引用なし
パスワード
   vbで処理しようとしていますが
まず、コマンドで試してマクロの記録
後編集しようとしています。
初心者なので宜しくお願いします。

【48526】Re:シートコピーの編集方法で悩んでいま...
発言  ウッシ  - 07/4/20(金) 14:02 -

引用なし
パスワード
   こんにちは

Findはワークシート関数のものではなくて、VBAのメソッドの事です。

Set セル変数 = セル範囲.Find(検索値,,,)のように使います。

【48530】Re:シートコピーの編集方法で悩んでいま...
発言  ウッシ  - 07/4/20(金) 15:43 -

引用なし
パスワード
   こんにちは

年月の部分は、書式「文字列」で「0704」のようになっているのですか?

【48592】Re:シートコピーの編集方法で悩んでいま...
発言  質問(煮詰まった)  - 07/4/24(火) 10:16 -

引用なし
パスワード
   回答連絡遅くなりました。
日付指定は、文字列で0704と表示しています。
コマンド記載が文章だけではイメージがわかないので
コマンドの記述もお手数ですがお願いします。
お手数ですが宜しくお願いします。

【48594】Re:シートコピーの編集方法で悩んでいま...
発言  ウッシ  - 07/4/24(火) 10:39 -

引用なし
パスワード
   こんにちは

Sheet1のB2に抽出年月、B4以下にデータとして、Sheet2に抽出するなら、

Sub test()
  Dim r    As Range
  Dim c    As Range
  Dim v()   As String
  Dim i    As Long
  With Worksheets("Sheet1")
    With .Range("B4", .Range("B65536").End(xlUp))
      .AutoFilter Field:=1, _
        Criteria1:=.Parent.Range("B2").Value
      For Each r In .SpecialCells(xlCellTypeVisible)
        If r.Row > 4 Then
          ReDim Preserve v(0 To i)
          v(i) = r(0, 1).Address
          i = i + 1
        End If
      Next
      If .Parent.AutoFilterMode = True Then _
          .Parent.AutoFilterMode = False
      On Error Resume Next
      For i = LBound(v) To UBound(v)
        Set c = .Find("コード*", .Parent.Range(v(i)), xlValues, xlPart)
        If Not c Is Nothing Then
          .Parent.Range(v(i), c).Copy _
            Worksheets("Sheet2").Range("A65536").End(xlUp).Offset(1)
        End If
      Next
      On Error GoTo 0
    End With
  End With
  Erase v
End Sub

データが無い場合等のエラー処理はご自分で追加してみて下さい。

【48600】Re:シートコピーの編集方法で悩んでいま...
質問  質問(煮詰まった)  - 07/4/24(火) 16:28 -

引用なし
パスワード
   色々ありがとうございました。
ためしに処理しようとしたのですが

シート1のB2に文字列 0704
シート1のB4から下に以下のデータ
0704
1111
2222
3333
4444
5555
6666
7777
8888
9999
11110
12221

シート2へは何も表示されなかったのですが・・・・

【48602】Re:シートコピーの編集方法で悩んでいま...
発言  ウッシ  - 07/4/24(火) 16:53 -

引用なし
パスワード
   こんにちは

48516のデータ例に合わせて有ります。

細かく仕様を聞いてコードを書く気は有りませんので、ご自分でサンプルコードを解析
して修正するようにして下さい。

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