Excel VBA質問箱 IV

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

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


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

【51000】セルの中央揃えについて 多摩川 07/8/24(金) 15:40 質問[未読]
【51001】Re:セルの中央揃えについて ぱっせんじゃー 07/8/24(金) 15:44 発言[未読]
【51004】Re:セルの中央揃えについて 多摩川 07/8/24(金) 16:15 質問[未読]
【51005】Re:セルの中央揃えについて ぱっせんじゃー 07/8/24(金) 16:27 発言[未読]
【51006】Re:セルの中央揃えについて 多摩川 07/8/24(金) 16:35 お礼[未読]

【51000】セルの中央揃えについて
質問  多摩川  - 07/8/24(金) 15:40 -

引用なし
パスワード
   セルの範囲A1:E10において,値が"-"の時に中央揃えにするため,
下記のようなコードを作成しました。

Sub CellCenter()
  For i = 1 To 10
    For j = 1 To 5
      If Cells(i, j) = "-" Then Cells(i, j).HorizontalAlignment = xlCenter
    Next j
  Next i
End Sub

もしよろしければ,こんな方法もあります
みたいに別の方法等があったら教えていただけないでしょうか?

【51001】Re:セルの中央揃えについて
発言  ぱっせんじゃー  - 07/8/24(金) 15:44 -

引用なし
パスワード
   ループすることには変わりありませんが、

FindNext メソッド

をVBAヘルプで調べてみてください。

【51004】Re:セルの中央揃えについて
質問  多摩川  - 07/8/24(金) 16:15 -

引用なし
パスワード
   ▼ぱっせんじゃー さん:

ありがとうございます。
申し訳ないですが,もう少しお付き合い願えないでしょうか?

ヘルプを参考に(というより殆どそのままですが・・・)作成してみました。
私の理解が正しいか確認していただけないでしょうか?

Sub CellCenter2()
  With Worksheets(1).Range("a1:e10")
    Set c = .Find("-", LookIn:=xlValues)
    '"-"のセルの検索&cへの代入
    If Not c Is Nothing Then
    '検索セルがないことがなく(要するにある時)以下を実施
      firstAddress = c.Address
      'アドレスの取得
      Do
        c.HorizontalAlignment = xlCenter
        '中央揃え
        Set c = .FindNext(c)
        '検索の継続
      Loop While Not c Is Nothing And c.Address <> firstAddress
      '検索セルがあり,最初のアドレスと次のアドレスが一致しなくなるまで繰り返す
    End If
  End With
End Sub

こういうことでしょうか?

【51005】Re:セルの中央揃えについて
発言  ぱっせんじゃー  - 07/8/24(金) 16:27 -

引用なし
パスワード
   >こういうことでしょうか?

これでいいとおもいます。
実際に試しましたが問題ありませんでした。

【51006】Re:セルの中央揃えについて
お礼  多摩川  - 07/8/24(金) 16:35 -

引用なし
パスワード
   ▼ぱっせんじゃー さん:
>>こういうことでしょうか?
>
>これでいいとおもいます。
>実際に試しましたが問題ありませんでした。

理解したつもりでですが,使い込んでものにします。
お付き合い,ありがとうございました。

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