Excel VBA質問箱 IV

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

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


3608 / 76735 ←次へ | 前へ→

【78756】Re:型が一致しないエラーについて
回答  γ  - 17/1/14(土) 13:40 -

引用なし
パスワード
   つっこみどころがいくつかあります。

型の不一致ですが、それは、pos1が結合セルの場合、
pos1.Valueが配列になるからです。

配列と一つの値を = で比較することはできません。

まずそのことを念頭におくと、
  Set pos1 = Cells(pos1row, pos1col).MergeArea
  Set pos1 = pos1(1)
としてしまう方法があります。
(最初だけでなく、複数箇所変更が必要です)

その他。

(1)1行ずつ行送りすると無駄かもしれない。
  pos1row = pos1row + sh1.Cells(pos1row, pos1col).MergeArea.Rows.Count
  とするとよいかも。

(2) name1,name2などを繰り返しの中で定義する必要はない。

(3) memo = "ee" などとダイレクトに文字をコードに書くなら、
  name1 などと変数を使わないほうが直感的かもしれない。
  memo に書き込む値も文字列変数で定義するか、いずれ統一が必要。

(4)Case Is = name1 は、普通は Case name1 で良い。

(5)投稿にあたっては、コピーペイストしてください。
  memo = bb1" & Right(pos1.Offset(, 3).Value, 5) & "bb2" _
                & Left(pos1.Offset(, 3).Value, 4) & "bb3"
  などというのはコンパイルエラーになる。
(6)インデントが恣意的です。タブを使ってください。

0 hits

【78755】型が一致しないエラーについて VBA勉強中 17/1/14(土) 11:47 質問[未読]
【78756】Re:型が一致しないエラーについて γ 17/1/14(土) 13:40 回答[未読]
【78757】Re:型が一致しないエラーについて VBA勉強中 17/1/14(土) 14:14 お礼[未読]
【78758】Re:型が一致しないエラーについて γ 17/1/14(土) 14:42 発言[未読]
【78759】Re:型が一致しないエラーについて γ 17/1/15(日) 9:03 回答[未読]

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