[[20071211104125]] 『セル番号』(waka) ページの最後に飛ぶ

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

 

『セル番号』(waka)
 選択したデータ範囲で番地を知りたく、お力を貸して下さい。
 例えば…A1:A14のように取得出来たらと思っています。
 A列には欲しいデータが課別に並んでいるのですがシステム上、課が変わると
 不定数の行が挿入されます。(14行だったり、20行だったり)
 毎回メンバーの入力行数も変わります。
 課別のデータ入力範囲のセル番地を知りたいのです。
(上手く書けなくてゴメンなさいm(__)m)
 選択した範囲でなくてもいいのですが例えば1課はA1:A14、2課はA20:A31のように取得出来たらと思い。よろしくお願いします。EXCEL2000です。

1課

 高橋
 鈴木
 林
 ・
 ・   
  ・

2課
黒江

  .
  .
  .


 範囲に名前を定義すれば良いのでは?


 変動メンバーが約200人で、取得したセル範囲を
 既にあるマクロに置換え、必要なデータを抽出しています。
 どうにか目視で以外で
 上手くセル番地を取得出来たらと思い。。。説明が下手でごめんなさいm(__)m
 図々しいのだが、名前の定義に入れた範囲をマクロに使うことってできますか? 
  
  Sheets("DATA").Select
    ActiveWindow.ScrollColumn = 1
    Range("A7:J30").Select ’ここを毎回変更しています。
    Selection.Copy
    Sheets("1課").Select
    Range("A5").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    ActiveWindow.SmallScroll Down:=12
    Sheets("DATA").Select
    ActiveWindow.SmallScroll ToRight:=5
    Range("K7:M30").Select’ここを毎回変更しています。
    Application.CutCopyMode = False
    Selection.Copy
 マクロ初心者です。よろしくお願いします。
(waka)


 >名前の定義に入れた範囲をマクロに使うことってできますか
Range("範囲").Copy では? "範囲"は実際に定義されて名前

 > Range("A7:J30").Select ’ここを毎回変更しています。
 > Range("K7:M30").Select’ここを毎回変更しています。
 夫々範囲を選択する条件は?
 (seiya)

seiya様へ
 列は毎回固定で、7:30行が今回1課のメンバーが入力されている行で、変動します。
 欲しいデータ列は計5箇所それが6課分あります。
 現在はセル番地目視後、編集で変更をしています。(waka)


 > 現在はセル番地目視後、編集で変更をしています。
 この根拠が知りたいのです。
 例えば、A列の「何か」を探して、次の「何か」の間の範囲とか...
 (seiya)

seiya様
 A列の461という数字の下スペース3個下、4個目から連続して1課の氏名が入り
スペース、集計行、不定数の行数の後、A列の461の下スペース3個下、4個目から連続して2課の氏名が入ります。(waka)

 > A列の461という数字の下スペース3個下、4個目から連続して1課の氏名が入り
 1) A列の461行目?
 2) スペース3個 -> 空白3行?

 きちんとした規則(論理的な)が無いと難しいですよ?
 こちらからはシートが見えないので、正確に表現してください。
 (seiya)

seiya様

 申し訳ありません。461はA列に文字列半角英数字で入力されています。
 461の下空白3行→4行目から氏名連続データ
 次の461の下空白3行→4行目から2課の氏名連続データが入ります。
 よろしくお願いします。(waka)
 461

 高橋
 ・
 ・
 ・

 461

 黒江

 


 こんな感じでしょうか?

 Sub test()
 Dim r As Range, x As Range, ff As String
 Set r = Columns("a").Find("461",Cells(Rows.Count,"a"),xlValues, xlWhole,,xlNext)
 If Not r Is Nothing Then
     ff = r.Address
     Do
         Set x = r
         Set r = Columns("a").FindNext(r)
         n = n + 1
         If ff <> r.Address Then
             Range(x.Offset(3), r.Offset(-1)).Copy
         Sheets(n & "課").Range("a5").PasteSpecial xlPasteValues
         Else
             Range(x.Offset(3), Range("a" & Rows.Count).End(xlUp)).Copy
             Sheets(n & "課").Range("a5").PasteSpecial xlPasteValues
             Exit Do
         End If
     Loop
     Appplication.CutCopyMode = False
 End If
 End Sub
 (seiya)

seiya様
 ありがとうございます。希望どおりです。m(__)m(waka)

コメント返信:

[ 一覧(最新更新順) ]


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