- ベストアンサー
Excel VBA の作り方について【初心者】
- Excel VBA の作り方を初心者向けに解説します。
- A1セルから「営業部【山本】」を取り出して表示する方法を紹介します。
- A2以降のセルに同じ作業を繰り返すVBAの作り方をご説明します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
私ならこんな感じにします。エラーのときの処理はしていません。 Sub macro1() '---行数確認 nr = Range("A1048576").End(xlUp).Row For i = 1 To nr '---名前抜き出し x = Range("A1").Offset(i - 1) j1 = InStr(x, "【") j2 = InStr(x, "】") Range("C1").Offset(i - 1) = Mid(x, j1 + 1, j2 - j1 - 1) '---分表示 x = Range("B1").Offset(i - 1) Range("D1").Offset(i - 1) = Int(x * 24 * 60) '--- Next i End Sub
その他の回答 (1)
- kagakusuki
- ベストアンサー率51% (2610/5101)
御質問の様な処理を行いたいシートのシートモジュールに、下記のVBAの構文を入力されると良いと思います。(尚、「シートモジュール」に構文を入力する方法が、もしも分らない場合には、補足コメント欄等を使用してその旨をお尋ね頂ければ、改めて回答致します) Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range, myRange As Range Set myRange = Intersect(Target, Columns("B")) If myRange Is Nothing Then Exit Sub For Each c In myRange With Range("D" & c.Row) If TypeName(c.Value) = "Double" And c.NumberFormatLocal Like "*:m*" Then .Value = Hour(c.Value) * 60 + Minute(c.Value) Else .ClearContents End If End With Next c End Sub
お礼
できました!! ありがとうございます!!
お礼
できました!! ありがとうございます!!