値が"空白"か、値が"図"であるなら変換しないという条件で構文を作成したいです。
ご教授お願いします
Range("A1:H15").Value = Range("A1:15").Value
> 値が"空白"か、値が"図"であるなら変換しないという条件で構文を作成したいです。
と
> Range("A1:H15").Value = Range("A1:15").Value
はどういう関係でしょうか?
> Range("A1:H15").Value = Range("A1:15").Value
は気にしなくても結構です
これを必ずしも使わなくても、目的が達成さえされればよいです。
これを載せた理由は、「数式を値にする」ということを強調する意味合いで載せたのですが、混乱させてしまったのであればすいませんでした。
>> Range("A1:H15").Value = Range("A1:15").Value
> は気にしなくても結構です
とのことですが、このコードを実行してみたところエラーが出ます。
やりたいことがいまいち分からないので、具体例を挙げた方が回答者が回答しやすいかと思います。
ご指摘の追記ありがとうございます。
VBA初心者なのものでして、どのように伝えれば伝わるかということが逆にわからないのでお手数なのですが、
"VBAで条件付きで数式を値に変換したい です
値が"空白"か、値が"図"であるなら変換しないという条件で構文を作成したいです。"
上記の文章で何がわからないか具体的に挙げて指摘していただくと助かります。
一応具体例について話します
記入用シートに記入すると、他のシートに同期されるようになっているのですが、未記入ですと空白の状態なのですが、そこで「数式」を値にしてしまうと、肝心な「数式」が消えてしまうということと、「図」と書かれている部分はハイパーリンクになっているので、その数式が消えてしまうので、それを克服したいという趣旨です。
Range("A1:H15").Value = Range("A1:15").Value
すいません、これはHが抜けていました。正しくは、
Range("A1:H15").Value = Range("A1:H15").Value
です。
「記入用シートに記入すると、他のシートに同期されるようになっているのですが、」は具体的にどのようにしているのか回答に追記してください。セルに数式が設定されているのなら、その式を提示してください。
また、現状のVBAコードも提示してください。
A8〜Z5000まで、同期させる関数をいれているんですが、Bの列とLの列のみハイパーリンク関数をつかっていて、その数式を消したくないのと、空欄には「IFERROR」関数が入っているため、これも消したくないのです。
式は「IFERROR(LEFT(Sheet1!B63,FIND("",Sheet1!B63)-1),"")」です。
ハイパーリンクの数式も必要ですか?
ちなみに現状のVBAコードなんですけどRange("A1:H15").Value = Range("A1:H15").Valueです。
大変お手数なんですが、なぜ「同期されているシートの内容を消したくない」という理由だけでは不十分なのかわからないので、そこも、よろしければお教えいただけると今後お役に立ちますのでご協力いただけるならよろしくお願いします
>「記入用シートに記入すると、他のシートに同期されるようになっているのですが、」は具体的にどのようにしているのか回答に追記してください。セルに数式が設定されているのなら、その式を提示してください。
また、現状のVBAコードも提示してください。
回答2件
あなたの回答
tips
プレビュー