過去ログ

                                Page     220
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼97と2000のデータ型ってちがうのでしょうか  MOM 02/10/17(木) 18:00
   ┗Re:97と2000のデータ型ってちがうのでしょうか  りん 02/10/17(木) 23:34
      ┗できました  MOM 02/10/18(金) 10:31

 ───────────────────────────────────────
 ■題名 : 97と2000のデータ型ってちがうのでしょうか
 ■名前 : MOM
 ■日付 : 02/10/17(木) 18:00
 -------------------------------------------------------------------------
   エクセル97でマクロを作って2000で動かしたら型がちがうとエラーがでてしまいます。Getstr3はstringで宣言してあります。
この前で文字と数字を入力するようにしてあります。一致したセルの色をかえようと思ったのですが、97では動作しますが2000だとエラーになります。わかりにくくて申し訳ないですがどなたか教えてください。

  num2 = Getstr
  Do While num2 < Getstr2 + 1
    num = 2
    Do While num < lastline + 1
      Cells(num, num2)
      If Cells(num, num2) = Getstr3 Then
             Cells(num, num2).Select
             Selection.Interior.ColorIndex = Getstr4
                     Else
      End If
      num = num + 1 
    Loop
             num2 = num2 + 1    Loop
 ───────────────────────────────────────  ■題名 : Re:97と2000のデータ型ってちがうのでしょうか  ■名前 : りん <rin_doggie@hotmail.com>  ■日付 : 02/10/17(木) 23:34  -------------------------------------------------------------------------
   MOMさん、こんばんわ。
>エクセル97でマクロを作って2000で動かしたら型がちがうとエラーがでてしまいます。Getstr3はstringで宣言してあります。

2000がないので確認できてませんが、数値と文字列を比較するときは、型を固定してからやったほうがいいですよ(Variantはどっちでも可なので比較しにくい)。

たとえば、
Getstr3は文字列(String)で宣言
Num2,Getstr,Getstr2,Num,lastlineは整数(IntegerまたはLong)で宣言

  For num2 = Getstr to Getstr2
    For num = 2 to lastline
      With Cells(num, num2)
        If Cstr(.Value) = Getstr3 Then
          .Interior.ColorIndex = Getstr4
        End If
      End With   
    Next
  Next

こんな感じです。
 ───────────────────────────────────────  ■題名 : できました  ■名前 : MOM  ■日付 : 02/10/18(金) 10:31  -------------------------------------------------------------------------
   りんさん。こんにちは。
ありがとうございます。
Cstr関数なんて思いつきませんでした。
しかもなんかループのところもすっきりとした書き方も教えていただいたので
真似しちゃいました。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 220