Excel VBA質問箱 IV

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

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


61468 / 76738 ←次へ | 前へ→

【19890】Re:教えてください!
回答  kazu  - 04/11/18(木) 15:35 -

引用なし
パスワード
   VBAで実行するなら・・・。


Sub Sample()
Dim Int_Row As Long, Int_Key As Long

Dim Rng_Key As Range
'Sheets("SHEET1").Cells(65536, 2).End(xlUp).Row : シート1の B65536 を基点に上方向に値を持つ最後の行の行番号を返します。
'変数 Int_Row は 1〜 B列の最終行迄1づつカウントアップ
For Int_Row = 1 To Sheets("SHEET1").Cells(65536, 2).End(xlUp).Row Step 1
  'A列が空白で無い場合には SHEET2のA列にて同じ値を持つセルを検索し 変数 Rng_Key に 格納
  If Sheets("SHEET1").Cells(Int_Row, 1).Value <> "" Then
    Set Rng_Key = Sheets("SHEET2").Columns(1).Find(Sheets("SHEET1").Cells(Int_Row, 1).Value)
    'SHEET2のA列にて同じ値を持つ行が無かった場合 変数 Int_Key に0を 格納
    If Rng_Key Is Nothing Then
      Int_Key = 0
    Else
    'SHEET2のA列にて同じ値を持つ行が有った場合 変数 Int_Key に B 列の値を 格納
      Int_Key = Rng_Key.Offset(0, 1).Value
    End If
    'Rng_Key Objectの開放
    Set Rng_Key = Nothing
  End If
  'SHEET1の Int_Row 行 B列の値が 空白でない場合
  If Sheets("SHEET1").Cells(Int_Row, 2).Value <> "" Then
    '変数 Int_Key を Int_Row 行 C列に書き出し
    Sheets("SHEET1").Cells(Int_Row, 3).Value = Int_Key
  End If
Next Int_Row
End Sub
2 hits

【19883】教えてください! れいこ 04/11/18(木) 14:38 質問
【19888】Re:教えてください! Asaki 04/11/18(木) 15:21 回答
【19890】Re:教えてください! kazu 04/11/18(木) 15:35 回答
【19923】Re:教えてください! れいこ 04/11/19(金) 11:25 お礼

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