Excel VBA質問箱 IV

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

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


10225 / 76734 ←次へ | 前へ→

【72059】Re:検索コード
発言  UO3  - 12/5/23(水) 11:00 -

引用なし
パスワード
   ▼VBA初心者 さん:

こんにちは

とりあえず処理サンプルです。
シート上のボタンにSample をマクロ登録してください。
仮に、○○k○○○m〜○○k○○○m を入力するところを A1 としています。

○○○k○○m の ○○○や○○は全角数字でも半角数字でもOK。
また k も、全角、半角、さらに大文字、小文字 いずれでも。
○○m も 1000m 以上でもOKです。
シートも名前の順番に並んでいなくてもOKです。

Sub Sample()
  Dim sh As Worksheet
  Dim shN As Variant
  Dim shV() As String
  Dim k As Long
  Dim f As Double, t As Double, n As Double
  Dim v As Variant
  Dim ok As Boolean
  
  v = Split(Range("A1").Value, "〜")   '★指定セルは実際のものに
  
  If UBound(v) = 1 Then
    f = getValue(v(0))
    If f Then
      t = getValue(v(1))
      If t Then ok = True
    End If
  End If
      
  If Not ok Then
    MsgBox "シート範囲を正しく指定してください"
    Exit Sub
  End If
  
  ReDim shV(1 To Worksheets.Count)
  
  For Each sh In Worksheets
    n = getValue(sh.Name)
    If n >= f And n <= t Then
      k = k + 1
      shV(k) = sh.Name
    End If
  Next
  
  If k = 0 Then
    MsgBox "該当のシートがありません"
    Exit Sub
  End If
  
  ReDim Preserve shV(1 To k)
  
  If MsgBox("以下のシートが選ばれました。よろしいですか?" & vbLf & _
    Join(shV, vbLf), vbYesNo) = vbNo Then Exit Sub
    
  For Each shN In shV
    With Sheets(shN)
      '
      'ここに、このシートに対する処理コードを書きます。
      'たとえば以下のように。
      'Range記述やCells記述の場合、先頭にピリオドをつけてください。

      .Range("A1").Value = "ABC"
      
    End With
  Next
      
End Sub

Private Function getValue(ByVal s As Variant) As Double
  Dim wk As Variant
  
  s = LCase(StrConv(s, vbNarrow))
  wk = Split(s, "k")
  If UBound(wk) = 1 Then
    getValue = Val(wk(0)) + Val(wk(1)) / 1000
  End If

End Function

4 hits

【72053】検索コード VBA初心者 12/5/22(火) 20:43 質問
【72056】Re:検索コード UO3 12/5/23(水) 9:47 発言
【72057】Re:検索コード UO3 12/5/23(水) 9:51 発言
【72058】Re:検索コード UO3 12/5/23(水) 10:25 発言
【72059】Re:検索コード UO3 12/5/23(水) 11:00 発言
【72067】Re:検索コード VBA初心者 12/5/24(木) 22:44 質問
【72068】Re:検索コード UO3 12/5/24(木) 23:19 発言
【72069】Re:検索コード UO3 12/5/24(木) 23:28 発言
【72070】Re:検索コード UO3 12/5/24(木) 23:39 発言
【72072】Re:検索コード UO3 12/5/25(金) 6:32 発言

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