Excel VBA質問箱 IV

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

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


13600 / 76732 ←次へ | 前へ→

【68635】Re:VBA初心者です
回答  UO3  - 11/3/31(木) 14:34 -

引用なし
パスワード
   ▼mo さん:

こんにちは

要件を誤解しているところもあるかもしれませんが・・・
Book1とBook2はともに、既に開かれていることを前提にしたコード。
ブック名拡張子は2003ベースのxlsにしていますが、ここは直してください。
また、それぞれのシート名も適切なものにしてください。
★Book2の検索領域がどこなのか不明でしたので使用領域を全て検索していますが
 もしかしたら、ここもA列だけでよかったかな?)

Sub Sample()
  Dim sh As Worksheet
  Dim myC As Range, myF As Range, myCol As Range
  Dim n As Long
  
  Application.ScreenUpdating = False
  
  Set sh = Workbooks("Book2.xls").Sheets("Sheet1")
  
  With Workbooks("Book1.xls").Sheets("Sheet1")
    For Each myC In .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
      n = Val(myC.Value) - 500000
      For Each myCol In sh.UsedRange.Columns
      
        Set myF = myCol.Find(What:=n, After:=myCol.Cells(myCol.Cells.Count), _
          LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _
          SearchDirection:=xlNext, MatchCase:=False, MatchByte:=False, _
          SearchFormat:=False)
        If Not myF Is Nothing Then
          myC.Offset(, 8).Value = myF.Offset(, 6).Value
        End If
        
      Next
    Next
  End With
  
  Set sh = Nothing
  
End Sub

2 hits

【68633】VBA初心者です mo 11/3/31(木) 13:26 質問
【68635】Re:VBA初心者です UO3 11/3/31(木) 14:34 回答
【68636】Re:VBA初心者です mo 11/3/31(木) 16:00 お礼
【68637】Re:VBA初心者です kanabun 11/3/31(木) 16:07 発言
【68639】Re:VBA初心者です kanabun 11/3/31(木) 17:15 発言
【68641】Re:VBA初心者です kanabun 11/3/31(木) 20:13 発言
【68651】Re:VBA初心者です mo 11/4/1(金) 12:32 お礼

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