
・1から3までの数字をいれた場合に、9:00から11:00と表示する場合として以下のソースを書きます。(以前にこちらで教えていただきました)
・a = array()の部分について、直接書くのではなく、セルを参照することはできますでしょうか?
a = array("cell(1,1)", "cell(1,2)", "cell(1,3)")みたいなイメージです。
よろしくお願い致します。
option base 1
private sub Worksheet_Change(byval Target as excel.range)
dim h as range
dim a as variant
a = array("9:0", "10:0", "11:0") ’1から3
on error resume next
for each h in application.intersect(target, range("D:D"))
if cells(h.row, "F") <> "○" then
if 1=< h.value and h.value <= 3 then ’1から3
if time >= timevalue(a(h.value)) then
cells(h.row, "F") = a(h.value)
end if
end if
end if
next
end sub
No.2ベストアンサー
- 回答日時:
No.1です。
たびたびごめんなさい。
投稿後気づきました。
>a = array("cell(1,1)", "cell(1,2)", "cell(1,3)")みたいなイメージです。
の部分で勘違いしていました。
D列のChangeイベントですので、結局A1~C1セルの範囲の3個だけですね。
↓のコードに変更してください。
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D:D")) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
If IsNumeric(.Value) And .Value > 0 And .Value <= 3 Then '←変更★
If Cells(.Row, "F") <> "○" Then
Cells(.Row, "F") = Cells(1, .Value) '←変更★
Cells(.Row, "F").NumberFormatLocal = "h:mm"
End If
End If
End With
End Sub
どうも失礼しました。m(_ _)m
ありがとうございます。
よろしければ、こちらもごらんいただけませんでしょうか?
http://oshiete.goo.ne.jp/qa/8819779.html
お手数かけます・・
No.3
- 回答日時:
>・a = array()の部分について、直接書くのではなく、セルを参照する
たとえばA1からA3の3つのセルを参照するには
a = application.transpose(range("A1:A3"))
とします。
「具体的に」どこのセルを参照したいのかによって、違う書き方が必要になります。まず回答した通りに作成し動作を確認してから、改めてあなたのエクセルの実際に合わせてマクロを自力で修正してください。
また教わった回答をそのままコピー貼り付けて質問するんじゃなく、あなたが「今実際に使ってるマクロ」をあなたのエクセルからコピーして、正確な情報提供をしてください。今後のご参考に。
No.1
- 回答日時:
こんばんは!
>a = array("cell(1,1)", "cell(1,2)", "cell(1,3)")みたいなイメージです。
というコトですので・・・
基本的に他の回答者様がお書きになったコードに手を付けるのは好きではありませんので
別のコードにしてみました。
A列の1行目から何行あっても良いので「時刻」データが入っているとします。
シートモジュールです。
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D:D")) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
If IsNumeric(.Value) And .Value > 0 And .Value <= Cells(Rows.Count, "A").End(xlUp).Row Then
If Cells(.Row, "F") <> "○" Then
Cells(.Row, "F") = Cells(.Value, "A")
Cells(.Row, "F").NumberFormatLocal = "h:mm"
End If
End If
End With
End Sub
こんなんではどうでしょうか?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/02/02 09:25
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA 空白セルがあったら...
-
VBA 別ブックから条件に合うも...
-
VBA サンダーバードのメール自...
-
vba、targetのRow,Colomnの値取得
-
Excel 入力規則のリストのカー...
-
JTableにおけるセルの結合について
-
【VBA】セルが空白の場合に処理...
-
【VB.NET】DataGridViewセルの...
-
Excelマクロで空白セルの大小比...
-
EXCELで特定のセルに表示...
-
エクセル: セルの枠を超えて表示
-
エクセル:マクロ「Application...
-
エクセルのセル内に全角数字を...
-
エクセルで文字の入力がセルの...
-
エクセルで表示形式の時刻の「0...
-
excelで、スクロールをすると限...
-
エクセルで連続データから、数...
-
エクセル
-
エクセルのアポストロフィを一...
-
エクセルで指定したセルのどれ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA 空白セルがあったら...
-
クリップボードの内容を変数に...
-
Excel VBA コンボボックスで空...
-
VBA 別ブックから条件に合うも...
-
Excel 入力規則のリストのカー...
-
マウスを乗せたときにセルの色...
-
エクセルの取り消し線を検出す...
-
GridViewの行選択イベントを発...
-
マクロについて質問です 範囲内...
-
VBA サンダーバードのメール自...
-
エクセル チェックボックスの...
-
Excelマクロで空白セルの大小比...
-
複数セルに〇印をつけるマクロ
-
【VBA】セルが空白の場合に処理...
-
SPREADで1つのセルに複数のチ...
-
テーブルの境界線を消したい!!
-
【VB.NET】DataGridViewセルの...
-
vbaで色付けされたセルを除外し...
-
エクセルVBA 計算範囲を変更する。
-
セルデータの有無を判断して行...
おすすめ情報