Excel VBA質問箱 IV

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

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


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

【18264】検索したセルと同じ書式にかえる。 はらぺこおおかみ 04/9/20(月) 8:25 質問[未読]
【18267】Re:検索したセルと同じ書式にかえる。 Asaki 04/9/20(月) 9:29 回答[未読]
【18275】Re:検索したセルと同じ書式にかえる。 はらぺこおおかみ 04/9/20(月) 10:32 質問[未読]
【18276】Re:検索したセルと同じ書式にかえる。 Asaki 04/9/20(月) 10:46 発言[未読]
【18278】Re:検索したセルと同じ書式にかえる。 はらぺこおおかみ 04/9/20(月) 11:01 回答[未読]
【18281】Re:検索したセルと同じ書式にかえる。 ichinose 04/9/20(月) 11:45 回答[未読]
【18462】Re:検索したセルと同じ書式にかえる。 はらぺこおおかみ 04/9/26(日) 13:13 お礼[未読]

【18264】検索したセルと同じ書式にかえる。
質問  はらぺこおおかみ  - 04/9/20(月) 8:25 -

引用なし
パスワード
   こんにちは。

VBAで次の処理をさせる場合、どのように
したら良いのでしょうか?

1.シ−ト1の表にあるセルの値に一致する
 セルをシート2から探す。
2.シート2で検索されたセルの書式を
 シート1のリストの書式に併せる。
3.一致しないセルはそのままの書式にする。

例えば
  シート1の表は
    A1   値:名前(見出し)
    A2   値:りんご  形式:太字,赤
    A3   値:みかん  形式:太字,青
    A4   値:いちご  形式:太字,緑

  シート2の表は
    M 7   値:名前(見出し)
    M 8   値:りんご(シ-ト1のA2と同じ→形式:太字,赤へ変更)
    M 9   値:みかん(シ-ト1のA3と同じ→形式:太字,青へ変更)
    M10   値:すだち(シ-ト1にないので、書式そのまま)
    M11   値:りんご(シ-ト1のA2と同じ→形式:太字,赤へ変更)

          ・
          ・
          ・
    M500  値:いちご(シ-ト1のA2と同じ→形式:太字,緑へ変更)

AutoFilterとPastSspecialの組み合わせや、Replacementを試してみたのですが
上手くいきませんでした。EXCELはExel97を使用しています。
 

【18267】Re:検索したセルと同じ書式にかえる。
回答  Asaki  - 04/9/20(月) 9:29 -

引用なし
パスワード
   おはようございます。

よく解りませんが、
単純にシート1のデータを順番に検索して、書式を同じものにしていくだけですよね?
先ずはマクロの記録で、検索処理と、書式の変更の処理を記録してみては?
ループが必要なので、加工しないとダメですが。

【18275】Re:検索したセルと同じ書式にかえる。
質問  はらぺこおおかみ  - 04/9/20(月) 10:32 -

引用なし
パスワード
   Asaki さん、Macroの記録でやってみたのですが・・

まず、Sheet2のM列にある「りんご」を検索させて、
Sheet1のA2に入力されている「りんご」の書式に
変更させる操作をしました。

以下の通りです。


Sub Macro7()
'

'
  Sheets("Sheet2").Select
  Columns("M:M").Select
  Sheets("Sheet1").Select
  Range("A2").Select
  Application.ReplaceFormat.Clear
  Application.ReplaceFormat.NumberFormat = "G/標準"
  With Application.ReplaceFormat
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .ShrinkToFit = False
  End With
  With Application.ReplaceFormat.Font
    .Name = "MS Pゴシック"
    .FontStyle = "太字"
    .Size = 11
    .Strikethrough = False
    .Superscript = False
    .Subscript = False
    .ColorIndex = 3
  End With
  Application.ReplaceFormat.Borders(xlLeft).LineStyle = xlNone
  Application.ReplaceFormat.Borders(xlRight).LineStyle = xlNone
  Application.ReplaceFormat.Borders(xlTop).LineStyle = xlNone
  Application.ReplaceFormat.Borders(xlBottom).LineStyle = xlNone
  Application.ReplaceFormat.Borders(xlDiagonalDown).LineStyle = xlNone
  Application.ReplaceFormat.Borders(xlDiagonalUp).LineStyle = xlNone
  Application.ReplaceFormat.Interior.ColorIndex = xlNone
  Application.ReplaceFormat.Locked = True
  Application.ReplaceFormat.FormulaHidden = False
  Sheets("Sheet2").Select
  Selection.Replace What:="りんご", Replacement:="", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=True
End Sub

ところが、このマクロを再度実行しようとしたら
'実行時エラー 1004
アプリケーション定義またはオブジェクト定義のエラーです。
というメッセージが出てきます。

何故でしょうか?

【18276】Re:検索したセルと同じ書式にかえる。
発言  Asaki  - 04/9/20(月) 10:46 -

引用なし
パスワード
   エラーがでるのは、どの行でしょうか?
ヴァージョンが違うため、ご提示のマクロをそのまま検証することが出来ませんので、
推測しかできない状況です。。。

【18278】Re:検索したセルと同じ書式にかえる。
回答  はらぺこおおかみ  - 04/9/20(月) 11:01 -

引用なし
パスワード
   ▼Asaki さん:
>エラーがでるのは、どの行でしょうか?
         Sheets("Sheet2").Select
         Columns("M:M").Select
         Sheets("Sheet1").Select
         Range("A2").Select
         Application.ReplaceFormat.Clear
  この行です。⇒Application.ReplaceFormat.NumberFormat = "G/標準"

Application.ReplaceFormat.NumberFormat =Null

となっているみたいなのですが・・・・

【18281】Re:検索したセルと同じ書式にかえる。
回答  ichinose  - 04/9/20(月) 11:45 -

引用なし
パスワード
   はらぺこおおかみ さん、Asaki さん:
こんにちは。

>>エラーがでるのは、どの行でしょうか?
>         Sheets("Sheet2").Select
>         Columns("M:M").Select
>         Sheets("Sheet1").Select
>         Range("A2").Select
>         Application.ReplaceFormat.Clear
  この行です。⇒Application.ReplaceFormat.NumberFormatlocal = "G/標準"
'にするか Application.ReplaceFormat.NumberFormat = "General"
'にしてみてください

>
>Application.ReplaceFormat.NumberFormat =Null
>
>となっているみたいなのですが・・・・

【18462】Re:検索したセルと同じ書式にかえる。
お礼  はらぺこおおかみ  - 04/9/26(日) 13:13 -

引用なし
パスワード
   ありがとうございました。

Application.ReplaceFormat.NumberFormat = "General"

に変更して問題なく動くようになりました。

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