Excel VBA質問箱 IV

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

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


35336 / 76738 ←次へ | 前へ→

【46602】Re:すみません、この部分だけお目通しいただけますか
発言  ToShi  - 07/2/7(水) 20:16 -

引用なし
パスワード
   ▼マップー さん:

>Private Sub Worksheet_Change(ByVal Target As Range)
>  と
>Private Sub Worksheet_Activate()
>  は
>
>一つにまとめられるものでしょうか?

用途が違いますから、纏められないでしょう。


>'5行目以降でE列に医療機関名を漢字で入力すると、D列に振り仮名を振り、F列に"なし"と入力する
>Private Sub Worksheet_Change(ByVal Target As Range)
>  Dim rng As Range
>  Dim crng As Range
>  Application.EnableEvents = False
>  
>LastRow = Range("E65536").End(xlUp).Row
>
>For R = 5 To LastRow
>  Set rng = Application.Intersect(Target, Range("E:E"))
>  If Not rng Is Nothing Then
>    For Each crng In rng
>     With crng
>       .Offset(0, -1).Value = _
>        Evaluate("asc(phonetic(" & .Address & "))")
>       End With
>     Next
>    End If
>  If Target.Column = 5 Then
>    Cells(Target.Row, "F") = "なし"
>    End If
>    Next R
>  Application.EnableEvents = True
>End Sub

上のコードだったら、一般のシート関数で作成しても良いのでは?
っと思いましたが。

下のコードでは何を目的に作成されているのか、これだけでは分かりませんが
シートがActivateされた時に動作するようにコードが書かれているのですから
用途が違のでしょう。

>
>
>'  シート医療機関がアクティブになった時の処理
>Private Sub Worksheet_Activate()
>Dim myRange As Range
>Dim FindCell As Range
>Dim LastRow As Long
>Dim LastClm As Integer
>Dim R As Long
>
>If Range("F2").Value = "" Then Exit Sub
>
>LastRow = Range("E65536").End(xlUp).Row
>
>For R = 5 To LastRow
>Set myRange = Range(Cells(R, "G"), Cells(R, "IV").End(xlToLeft))
>If WorksheetFunction.CountIf(myRange, Range("F2").Value) > 0 Then
>Cells(R, "B").Value = 0
>Else
>Cells(R, "B").Value = 1
>End If
>Next R
>
>If WorksheetFunction.CountIf(Range("B5:B" & LastRow), 1) = 0 Then Exit Sub
>
>LastClm = 5
>
>For R = 5 To LastRow
>If LastClm < Cells(R, "IV").End(xlToLeft).Column Then
>LastClm = Cells(R, "IV").End(xlToLeft).Column
>End If
>Next R
>
>Set myRange = Range("A5", Cells(LastRow, LastClm))
>
>myRange.Sort Key1:=Range("B5"), Order1:=xlAscending, _
>Key2:=Range("D5"), Order1:=xlAscending, _
>Header:=xlGuess, OrderCustom:=1, MatchCase:=False
> Range("E5").Select
>
>End Sub

0 hits

【46584】コードをまとめることで、処理を早くできるでしょうか? マップー 07/2/7(水) 14:22 質問
【46593】Re:コードをまとめることで、処理を早くで... neptune 07/2/7(水) 16:54 発言
【46596】すみません、この部分だけお目通しいただけ... マップー 07/2/7(水) 17:15 質問
【46602】Re:すみません、この部分だけお目通しいた... ToShi 07/2/7(水) 20:16 発言
【46614】Re:すみません、この部分だけお目通しいた... マップー 07/2/8(木) 8:30 お礼
【46605】Re:すみません、この部分だけお目通しいた... neptune 07/2/7(水) 22:16 発言
【46615】ご指摘ありがとうございました。 マップー 07/2/8(木) 8:32 お礼

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