Excel VBA質問箱 IV

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

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


52734 / 76732 ←次へ | 前へ→

【28829】Re:文字列の取得
回答  Hirofumi  - 05/9/15(木) 20:03 -

引用なし
パスワード
   こんなのでも?

Option Explicit

Public Sub Sample()

  Dim i As Long
  Dim lngRows As Long
  Dim vntData As Variant
  Dim lngPos As Long
  Dim strProm As String
  
  'データの有るシートにA1を基準とする
  With ActiveSheet.Cells(1, "A")
    'データ行数を取得
    lngRows = .Offset(65536 - .Row).End(xlUp).Row - .Row
    If lngRows <= 0 Then
      strProm = "データが有りません"
      GoTo Wayout
    End If
    'データを配列に取得
    vntData = .Offset(1).Resize(lngRows).Value
    'データ全てに就いて繰り返し
    For i = 1 To lngRows
      '"*"の位置を取得(全角、半角を問わずの場合)
      lngPos = InStr(1, vntData(i, 1), "*", vbTextCompare)
      '"*"の位置を取得("*"と同じ物のみを指定する場合、)
'      lngPos = InStr(1, vntData(i, 1), "*", vbBinaryCompare)
      '"*"が有った場合
      If lngPos > 0 Then
        '"*"因り、左部分を取得
        vntData(i, 1) = Left(vntData(i, 1), lngPos - 1)
      End If
    Next i
    '結果を隣りの列に出力
    .Offset(1, 1).Resize(lngRows).Value = vntData
  End With
  
  strProm = "処理が完了しました"
  
Wayout:
  
  Beep
  MsgBox strProm
    
End Sub

1 hits

【28826】文字列の取得 ZMAN 05/9/15(木) 19:14 質問
【28828】Re:文字列の取得 だるま 05/9/15(木) 19:56 回答
【28829】Re:文字列の取得 Hirofumi 05/9/15(木) 20:03 回答
【28830】Re:文字列の取得 ponpon 05/9/15(木) 20:07 発言
【28845】Re:文字列の取得 ZMAN 05/9/16(金) 8:30 お礼

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