Excel VBA質問箱 IV

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

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


9243 / 76732 ←次へ | 前へ→

【73052】Re:テキストボックスの値を条件に一致する別シートのセルを元シートに返す
発言  UO3  - 12/11/1(木) 10:05 -

引用なし
パスワード
   ▼ぶたごりら さん:

もし、Sheet2のA,B列の1行目にタイトル行があれば以下のような処理ができます。

Private Sub CommandButton1_Click()
  Dim s1 As String
  Dim s2 As String
  Dim s3 As String
  Dim sx As Variant
  Dim sh1 As Worksheet
  Dim sh2 As Worksheet
  Dim i As Long
  Dim wCol As Long
  
  s1 = TextBox1.Value
  s2 = TextBox2.Value
  s3 = TextBox3.Value

  If Len(s1 & s2 & s3) = 0 Then
    MsgBox "抽出すべきキーが入力されていません"
    Exit Sub
  End If
  
  Application.ScreenUpdating = False
  
  Set sh1 = Sheets("Sheet1")
  Set sh2 = Sheets("Sheet2")
  
  sh1.Columns("A").ClearContents
  sh1.Range("A1").Value = sh2.Range("B1").Value
  wCol = sh2.Cells(1, sh2.Columns.Count).End(xlToLeft).Column + 2
  sh2.Cells(1, wCol) = sh2.Range("A1").Value
  
  i = 2
  For Each sx In Array(s1, s2, s3)
    If Len(sx) > 0 Then
      sh2.Cells(i, wCol).Value = "'=" & sx
      i = i + 1
    End If
  Next
  
  sh2.Columns("A:B").AdvancedFilter Action:=xlFilterCopy, _
    CriteriaRange:=sh2.Cells(1, wCol).CurrentRegion, _
    CopyToRange:=sh1.Range("A1"), Unique:=False
  
  sh2.Columns(wCol).Clear
  Application.ScreenUpdating = True
  
End Sub

0 hits

【73049】テキストボックスの値を条件に一致する別シートのセルを元シートに返す ぶたごりら 12/11/1(木) 0:24 質問
【73050】Re:テキストボックスの値を条件に一致する... UO3 12/11/1(木) 9:40 発言
【73051】Re:テキストボックスの値を条件に一致する... UO3 12/11/1(木) 9:47 発言
【73052】Re:テキストボックスの値を条件に一致する... UO3 12/11/1(木) 10:05 発言
【73054】Re:テキストボックスの値を条件に一致する... ぶたごりら 12/11/1(木) 12:28 発言
【73055】Re:テキストボックスの値を条件に一致する... UO3 12/11/1(木) 14:09 発言
【73057】Re:テキストボックスの値を条件に一致する... ぶたごりら 12/11/1(木) 14:54 回答
【73058】Re:テキストボックスの値を条件に一致する... UO3 12/11/1(木) 15:06 発言
【73059】Re:テキストボックスの値を条件に一致する... ぶたごりら 12/11/1(木) 15:36 お礼

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