Excel VBA質問箱 IV

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

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


11351 / 76735 ←次へ | 前へ→

【70922】Re:セルの列の指定について教えてください
発言  kanabun  - 12/1/17(火) 11:49 -

引用なし
パスワード
   ▼ちーすけ さん:
> Range("B") = FoundCell.Next      '←ここの部分
>ここの部分でやりたいことは、idを入力するとセルのB列に名前が表示されるようにし、
> 次にidが入力されたら下の行に名前を表示させるようにしたいです。
> 名前の表示自体は、T列にidを書いておき、隣のセルを読み込ませて表示させるようにしました。

ごめんなさい。↑説明してもらってもまだ分からないのですが?
TextBox の id がA列にあるか、まだかで、場合分けし、
idがまだ未記入の時(countifが 0 を返すとき) だけ
   T列を検索して id を見つけ、U列の対応する「名前」を取得。
  「名前」をB列に書き込み、C列に 時刻を記入する。
という処理順でいいような気がするのですが?

Private Sub CommandButton1_Click()
Dim FoundCell As Range
Dim rngID As Range
Dim Col As Integer
Dim id As String

'TextBox1 に入力された名前を変数idに代入
id = TextBox1.Value
With Worksheets("Sheet1")
  'A列に このIDが記載済みか新規か調べる
  '新規IDのばあい
  If WorksheetFunction.CountIf(.Range("A:A"), id) = 0 Then
    'A列最終行の取得
    Set rngID = .Range("A" & .Rows.Count).End(xlUp).Offset(1)
    rngID.Value = id '番号出力
    'idに対応する名前をB列に表示
    Set FoundCell = Range("T:T").Find(id, , xlFormulas, xlWhole)
    If FoundCell Is Nothing Then
      MsgBox "番号がありません"
      Exit Sub
    End If
    rngID.Offset(, 1).Value = FoundCell.Offset(, 1).Value '名前出力
    Col = 3 'C列
    
  Else '記載済みのばあい
    '退勤処理
    Set rngID = .Range("A:A").Find(id)
    Col = 4 'D列
  End If
End With
'時刻出力
With rngID.Item(1, Col)
  .Value = Now() '時刻出力
  .NumberFormat = "yy/mm/dd hh:mm" 'セルの書式設定
End With

TextBox1.Value = ""
TextBox1.Select

MsgBox "完了"

End Sub

問題あったら、レス下さい。
5 hits

【70911】セルの列の指定について教えてください ちーすけ 12/1/16(月) 23:33 質問
【70914】Re:セルの列の指定について教えてください kanabun 12/1/17(火) 9:17 発言
【70921】Re:セルの列の指定について教えてください ちーすけ 12/1/17(火) 10:48 発言
【70922】Re:セルの列の指定について教えてください kanabun 12/1/17(火) 11:49 発言
【70923】Re:セルの列の指定について教えてください kanabun 12/1/17(火) 11:52 発言
【70924】Re:セルの列の指定について教えてください ちーすけ 12/1/17(火) 14:39 発言
【70925】Re:セルの列の指定について教えてください kanabun 12/1/17(火) 14:47 発言
【70926】Re:セルの列の指定について教えてください ちーすけ 12/1/17(火) 15:14 お礼

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