Excel VBA質問箱 IV

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

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


20679 / 76736 ←次へ | 前へ→

【61470】Re:データの検索
発言  まこすけ  - 09/5/12(火) 6:57 -

引用なし
パスワード
   りんさん
おはようございます

さっそく試してみたのですが、全てE11になってしまいました。
E22のある行からは、E22にしたいのです。


>>  A  B  C           A  B  C  
>>1 11  E11           1 11  E11 E11
>>2 XX  22            2 XX  22  E11
>>3 XX              3 XX    E11
>>4                4
>>5 11              5 11    E11    
>>6                 6
>>7 11  E22           7 11  E22 E22    
>>8    33            8   33 
>>9 XX              9 XX    E22
>>10                10
>>
>
>>E11の場所は、B1に必ずある
>>E22は、何行目にあるかは、毎回変わってしまいます。
> Eの後の数字も毎回変わってしまう
 
 説明不足申し訳ありません。
>
>
>>A列のセルに何か入力されていたら、E11とE22をC列に書き出したいのです
>こういう事でしょうか?
>
>Sub test()
>  Dim r1 As Range
>  Dim RR As Long, Rmax As Long, s1 As String
>  'A列のデータ範囲
>  With Application.ActiveSheet
>   Set r1 = Application.Intersect(.Columns("A:A"), .UsedRange)
>  End With
>  '
>  Rmax = r1.Count
>  ReDim cdat(1 To Rmax, 1 To 1) As Variant
>  '
>  'B列にExxが出たら入れ替え?
>  s1 = "E11" '一応初期値
>  For RR = 1 To Rmax
>   'A列に何か入ってたら
>   If r1.Cells(RR).Value <> "" Then
>     'B列がExxだったら入れ替え?
>     With r1.Cells(RR).Offset(0, 1)
>      If Left(.Text, 1) = "E" Then s1 = .Text
>     End With
>     'C列に入れる文字列
>     cdat(RR, 1) = s1
>   End If
>  Next
>  '一括で範囲に渡す。
>  r1.Offset(0, 2).Value = cdat()
>  '
>  Erase cdat
>  Set r1 = Nothing
>End Sub

0 hits

【61468】データの検索 まこすけ 09/5/12(火) 0:46 質問
【61469】Re:データの検索 りん 09/5/12(火) 3:37 回答
【61470】Re:データの検索 まこすけ 09/5/12(火) 6:57 発言
【61471】Re:データの検索 りん 09/5/12(火) 7:24 発言
【61476】Re:データの検索 まこすけ 09/5/12(火) 20:01 お礼

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