過去ログ

                                Page     705
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼.SpecialCellsにて「該当するセルがありま...  いぬだわん 02/10/18(金) 17:04
   ┗Re:.SpecialCellsにて「該当するセルがありま...  ぴかる 02/10/18(金) 18:05
      ┗Re:.SpecialCellsにて「該当するセルがありま...  ひで 02/10/18(金) 19:04
         ┗Re:.SpecialCellsにて「該当するセルがありま...  ぴかる 02/10/18(金) 19:48
            ┣Re:.SpecialCellsにて「該当するセルがありま...  いぬだわん 02/10/19(土) 0:11
            ┗Re:.SpecialCellsにて「該当するセルがありま...  おっちゃん 03/2/6(木) 13:38
               ┗Re:.SpecialCellsにて「該当するセルがありま...  Jaka 03/2/6(木) 13:50
                  ┗Re:.SpecialCellsにて「該当するセルがありま...  おっさん 03/2/7(金) 14:33
                     ┗Re:.SpecialCellsにて「該当するセルがありま...  りん 03/2/8(土) 16:01

 ───────────────────────────────────────
 ■題名 : .SpecialCellsにて「該当するセルがありま...
 ■名前 : いぬだわん
 ■日付 : 02/10/18(金) 17:04
 -------------------------------------------------------------------------
   こんにちは。

質問です。

A1から適当な数値データがあり、
列に対するデータ数および、列数は不明のWorksheetがあるとします。
そのWorksheetは所々、「空白セル」があり、
その空白セルに「Over」と入れようと思います。
下記のProgを作成してやってみたところ、
空白セルには「Over」と入れられたのですが、
「該当するセルがありません」
のエラー表示が出てしまいます。
これを回避するにはどのようにしたらよいでしょうか?
教えていただければと思います。

'ここから
Sub test_Blank_Over()

  Dim i As Integer 
  Dim intX As Integer 'Rowの数
  Dim intY As Integer 'Columnの数
  
  'データの形態調査
  Range("A1").CurrentRegion.Select
  intX = Selection.Rows.Count
   
  intY = Selection.Columns.Count
  
  '空白を「Over」とする
  For i = 0 To intY
    With Range(Cells(1, 1), Cells(intX, 1)).Offset(, i)
      .SpecialCells(xlCellTypeBlanks) = "Over"
    End With
  Next i

End Sub
'ここまで
 ───────────────────────────────────────  ■題名 : Re:.SpecialCellsにて「該当するセルがありま...  ■名前 : ぴかる  ■日付 : 02/10/18(金) 18:05  -------------------------------------------------------------------------
   いぬだわんさん、こんにちは。

原因は分かりません。ただ、こんな感じにすれば出来ました。お試し下さい。

Sub test_Blank_Over()

  Dim MyR As Range
 
  'データの形態調査
  Range("A1").CurrentRegion.SpecialCells(xlCellTypeBlanks).Select
 
  '空白を「Over」とする
   For Each MyR In Selection
    MyR = "Over"
   Next

End Sub
 ───────────────────────────────────────  ■題名 : Re:.SpecialCellsにて「該当するセルがありま...  ■名前 : ひで  ■日付 : 02/10/18(金) 19:04  -------------------------------------------------------------------------
   ▼ぴかる さん いぬだわんさん こんばんは

またまた勉強させてもらってます(^^;

いろいろ試してみたんですが、私の場合は空白セルがなく
"Over"が入力できないとエラーが出ました。

これでも動くみたいですがどぅかな〜?

Sub test1()

On Error Resume Next

ActiveSheet.Cells.SpecialCells(xlCellTypeBlanks) = "Over"

On Error GoTo 0

End Sub
 ───────────────────────────────────────  ■題名 : Re:.SpecialCellsにて「該当するセルがありま...  ■名前 : ぴかる  ■日付 : 02/10/18(金) 19:48  -------------------------------------------------------------------------
   いぬだわんさん、ひでさん、こんばんは

ひでさんのを参考にしたNewバージョンです。こんなんでどう?。

Sub test_Blank_Over()

  Range("A1").CurrentRegion.SpecialCells(xlCellTypeBlanks) = "Over"

End Sub
 ───────────────────────────────────────  ■題名 : Re:.SpecialCellsにて「該当するセルがありま...  ■名前 : いぬだわん  ■日付 : 02/10/19(土) 0:11  -------------------------------------------------------------------------
   ぴかる さん、ひでさん、こんばんは。

いつもいつもいろいろありがとうございます。
やってみたらできました。
ただ、
今作っているprogは、1列に8000くらいのデータがあるもんで、
高速化してみたいところなんですが・・・
無理なんでしょうか?
それは余談として、
まずはお礼まで。
 ───────────────────────────────────────  ■題名 : Re:.SpecialCellsにて「該当するセルがありま...  ■名前 : おっちゃん  ■日付 : 03/2/6(木) 13:38  -------------------------------------------------------------------------
   ぴかるさん、いぬだわんさん、ひでさん、こんにちは
>
>Sub test_Blank_Over()
>
>  Range("A1").CurrentRegion.SpecialCells(xlCellTypeBlanks) = "Over"
>
>End Sub

参考にさせてもらいたいのですが...
該当するセルが 数値の"0"の時、"-"に置き換えるときも
使えるのでしょうか
このときの構文を教えてください。
"xlCell何とか"を探すのが苦手で、最近はあきらめていました。
簡単な探し方も教えてください。
本も読まずに使ってる年寄りのために...よろしく!
 ───────────────────────────────────────  ■題名 : Re:.SpecialCellsにて「該当するセルがありま...  ■名前 : Jaka  ■日付 : 03/2/6(木) 13:50  -------------------------------------------------------------------------
   こんにちは。
編集 → 置換え をマクロ記録して見て下さい。

>"xlCell何とか"を探すのが苦手で、最近はあきらめていました。
SpecialCells メソッド で検索して見てください。
 ───────────────────────────────────────  ■題名 : Re:.SpecialCellsにて「該当するセルがありま...  ■名前 : おっさん  ■日付 : 03/2/7(金) 14:33  -------------------------------------------------------------------------
   Jakaさん こんにちは、お世話をかけます。

回答が早いので驚いています。
見るのが遅くてすみません。
質問の趣旨が少し違っているので、再度書かせてもらいます。

「数表の中に、文字、数値がある
 この数値のうち 値”0”だけを ”−”(別の文字に)に置き換えたい」
と言う意味です。

>編集 → 置換え をマクロ記録して見て下さい。

上記の処理では、10 は 1- になってしまいます。
シート全体に実行したいので、簡単な方法があれば教えてください。

>SpecialCells メソッド で検索して見てください。

rangeオブジェクトの中の SpecialCells メソッド は出てきましたが
オブジェクト志向型言語の記述は、おっさんにはようわかりまへん
ぼちぼち勉強します。
 ───────────────────────────────────────  ■題名 : Re:.SpecialCellsにて「該当するセルがありま...  ■名前 : りん <rin_doggie@hotmail.com>  ■日付 : 03/2/8(土) 16:01  -------------------------------------------------------------------------
   おっさん さん、こんにちわ。

>「数表の中に、文字、数値がある
> この数値のうち 値”0”だけを ”−”(別の文字に)に置き換えたい」
>と言う意味です。
>>編集 → 置換え をマクロ記録して見て下さい。
>上記の処理では、10 は 1- になってしまいます。
>シート全体に実行したいので、簡単な方法があれば教えてください。
 記録するときに「完全に同一なセルだけを検索する」チェックをつけてみてください。

こうなります
Cells.Replace What:="0", Replacement:="-", LookAt:=xlWhole, SearchOrder :=xlByRows, MatchCase:=False

このLookAt引数をxlWholeにすると、0が-になり、10が10のままになります。

Application.ScreenUpdating = False
を先に実行してから置換すると少し処理が早くなります。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 705