Excel VBA質問箱 IV

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

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


2973 / 13644 ツリー ←次へ | 前へ→

【64997】文字列の修正 とってぃ 10/4/1(木) 10:12 質問[未読]
【64998】Re:文字列の修正 Jaka 10/4/1(木) 13:10 発言[未読]
【65002】Re:文字列の修正 とってぃ 10/4/1(木) 16:31 お礼[未読]
【64999】Re:文字列の修正 ponpon 10/4/1(木) 14:16 発言[未読]
【65003】Re:文字列の修正 とってぃ 10/4/1(木) 16:32 お礼[未読]

【64997】文字列の修正
質問  とってぃ E-MAIL  - 10/4/1(木) 10:12 -

引用なし
パスワード
   だれか教えてください。お願いします。

UserForm1にコマンドボタンを作成し、そのボタンを押したら
Sheet1とSheet2のF列に翌の文字を探しあったら、その文字(翌)だけ消す
ことは出来ますか??
また、F列には空白もあります。

コマンドボタンを押すと
例:Sheet1のF12に”翌3:00”→”3:00”
  Sheet2のF20に”翌5:00”→”5:00”
  Sheet1のF26に”翌1:00”→”1:00”

よろしくお願いします。

【64998】Re:文字列の修正
発言  Jaka  - 10/4/1(木) 13:10 -

引用なし
パスワード
   消すだけなら、置き換えで消せます。
Sheet1を選択。
F列を選択してから、翌を置き換え。
Sheet2を選択。
F列を選択してから、翌を置き換え。

Sheet1とSheet2を選択。
F列を選択してから、翌を置き換え。
でも良いけど。

尚、”翌3:00”→”3:00”
          ↑
       時間に変換されます。

【64999】Re:文字列の修正
発言  ponpon  - 10/4/1(木) 14:16 -

引用なし
パスワード
   ▼とってぃ さん:
マクロにするならこんな感じかな・・・?

Sub test()
  Dim sh1 As Worksheet
  Dim sh2 As Worksheet
  
  Set sh1 = Sheets("Sheet1")
  Set sh2 = Sheets("Sheet2")
  For i = 0 To 1
   With Array(sh1, sh2)(i)
     For j = 1 To .Cells(Rows.Count, 6).End(xlUp).Row
      If InStr(.Cells(j, 6).Text, "翌") > 0 Then
       .Cells(j, 6).Value = Replace(.Cells(j, 1).Text, "翌", "")
      End If
     Next
   End With
  Next
End Sub

【65002】Re:文字列の修正
お礼  とってぃ E-MAIL  - 10/4/1(木) 16:31 -

引用なし
パスワード
   Jaka さん
有り難うございました。
マクロの置換で出来ました。

▼Jaka さん:
>消すだけなら、置き換えで消せます。
>Sheet1を選択。
>F列を選択してから、翌を置き換え。
>Sheet2を選択。
>F列を選択してから、翌を置き換え。
>
>Sheet1とSheet2を選択。
>F列を選択してから、翌を置き換え。
>でも良いけど。
>
>尚、”翌3:00”→”3:00”
>          ↑
>       時間に変換されます。

【65003】Re:文字列の修正
お礼  とってぃ E-MAIL  - 10/4/1(木) 16:32 -

引用なし
パスワード
   ponpon さん
有り難うございました。
解決できました。下記コードを参考にしました。

▼ponpon さん:
>▼とってぃ さん:
>マクロにするならこんな感じかな・・・?
>
>Sub test()
>  Dim sh1 As Worksheet
>  Dim sh2 As Worksheet
>  
>  Set sh1 = Sheets("Sheet1")
>  Set sh2 = Sheets("Sheet2")
>  For i = 0 To 1
>   With Array(sh1, sh2)(i)
>     For j = 1 To .Cells(Rows.Count, 6).End(xlUp).Row
>      If InStr(.Cells(j, 6).Text, "翌") > 0 Then
>       .Cells(j, 6).Value = Replace(.Cells(j, 1).Text, "翌", "")
>      End If
>     Next
>   End With
>  Next
>End Sub

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