Excel VBA質問箱 IV

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

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


529 / 13645 ツリー ←次へ | 前へ→

【79874】アプリケーションエラー pen 18/5/8(火) 16:46 質問[未読]
【79875】Re:アプリケーションエラー pen 18/5/8(火) 16:58 質問[未読]
【79876】Re:アプリケーションエラー BJ 18/5/8(火) 17:14 発言[未読]
【79877】Re:アプリケーションエラー pen 18/5/8(火) 17:37 お礼[未読]

【79874】アプリケーションエラー
質問  pen  - 18/5/8(火) 16:46 -

引用なし
パスワード
   下記の実行でエラーが起こります。
単純なミスかもしれないと思い、色々試してみたのですが動かず、
混乱してきてしまったので、ご教示いただけますでしょうか。

[やりたいこと]
セル内の行数を別セルに記載したい。
変数でループさせている中での処理の一部です。

あるリストから、順にフォーマットに必要項目の転記や計算などをしていて、
転記した文字列があるセルの改行数+1で行数を取得。


A列、変数で取得した行(hensu1)にリストから転記
B列の同じ行に上記セルの行数(改行数+1)を関数で取得

dim gyo as string
dim hensu1 as long

hensu1=range(a1).row

gyo = “=len(A” & hensu1 & “)-len(substitute(A” & hensu1 & “),char(10),””””))+1”

Range(“B” & hensu1 & “”).Formula=gyo

最後のところでエラーになります。
gyoを確認すると、入れたい数式はgyoに格納できているように思います。

とっても長い構文の中の一部で分かりにくい点あるかもしれません。
途中、大文字で書いている部分が小文字になってしまっているところがありますがご了承ください。
よろしくお願いいたします。

【79875】Re:アプリケーションエラー
質問  pen  - 18/5/8(火) 16:58 -

引用なし
パスワード
   ▼pen さん:
追記です。
行数取得は、セルの高さ指定に使いたいので、
もしgyoという変数に、該当セルAhensu1の行数(改行の回数プラス1)を
格納できる他の方法があれば、Len関数にはこだわりません。

行数を確認したいセルは、結合されており、自動調整はできないので、
行数×高さ(自動調整より少し余裕も持ちたい)でセル高さを指定する予定です。

よろしくお願いいたします。

>下記の実行でエラーが起こります。
>単純なミスかもしれないと思い、色々試してみたのですが動かず、
>混乱してきてしまったので、ご教示いただけますでしょうか。
>
>[やりたいこと]
>セル内の行数を別セルに記載したい。
>変数でループさせている中での処理の一部です。
>
>あるリストから、順にフォーマットに必要項目の転記や計算などをしていて、
>転記した文字列があるセルの改行数+1で行数を取得。
>
>例
>A列、変数で取得した行(hensu1)にリストから転記
>B列の同じ行に上記セルの行数(改行数+1)を関数で取得
>
>dim gyo as string
>dim hensu1 as long
>
>hensu1=range(a1).row
>
>gyo = “=len(A” & hensu1 & “)-len(substitute(A” & hensu1 & “),char(10),””””))+1”
>
>Range(“B” & hensu1 & “”).Formula=gyo
>
>最後のところでエラーになります。
>gyoを確認すると、入れたい数式はgyoに格納できているように思います。
>
>とっても長い構文の中の一部で分かりにくい点あるかもしれません。
>途中、大文字で書いている部分が小文字になってしまっているところがありますがご了承ください。
>よろしくお願いいたします。

【79876】Re:アプリケーションエラー
発言  BJ  - 18/5/8(火) 17:14 -

引用なし
パスワード
   まず、

gyo = “=len(A” & hensu1 & “)-len(substitute(A” & hensu1 & “),char(10),””””))+1”

上の
=len の=を取って、セルに入った文字が数式として成り立つのか確認して見る。

【79877】Re:アプリケーションエラー
お礼  pen  - 18/5/8(火) 17:37 -

引用なし
パスワード
   ▼BJ さん:
>まず、
>
>gyo = “=len(A” & hensu1 & “)-len(substitute(A” & hensu1 & “),char(10),””””))+1”
>
>上の
>=len の=を取って、セルに入った文字が数式として成り立つのか確認して見る。


コメントあいがとうございます。
解決しました。
先に関数をエクセル上で作ってから、変数に置き換えて書いていたのですが、
,CHAR(10)の前にある、「)」が一つ多いことに気がつけました。
私の凡ミスでした。
ありがとうございました!

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