- 締切済み
Excel(VBAを使用して書式の大量コピー)
お世話になっております 以下の内容を行っているのですが、処理が遅くもっと効率の 良い方法がないかご教授いただければと思います win2000 Excel200 ExcelのA列のデータが10000件ほど入っております ただし、IF文などの書式が入ってる行と入ってない行があり 書式の入っている行だけ新しい書式を設定したいと思ってます For intCnt = 1 to 10000 もしも書式が入っていたら新しい書式にする IF Left(Trim(Range("A" & intCnt).FormulaR1C1), 1) = "=" Then range(A1) = "新しい書式" End if next このような感じで行ってますが、処理に時間がかかります なんとか、速度UPを考えてますが、何か良い案はございますでしょうか? 宜しくお願い致します
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- hige_082
- ベストアンサー率50% (379/747)
>上記内容でマクロを実行したのですが、エラーが表示され >実行できませんでした。。。 お役に立てず、すみません どのような、エラーが出たのでしょうか? 因みに Sub Macro1() Range("a:a").SpecialCells(xlCellTypeFormulas, 23).Select End Sub では、エラーが出るのでしょうか? 御手隙であれば、補足願います
- hige_082
- ベストアンサー率50% (379/747)
>IF文などの書式が入ってる行と入ってない行があり 書式ではなく、数式ですよね Excelの機能を使用すると早いよ Sub Macro1() Range("a:a").SpecialCells(xlCellTypeFormulas, 23) = "=A1+B1" End Sub 参考まで
お礼
返信遅れましてすいません アドバイスありがとうございます 上記内容でマクロを実行したのですが、エラーが表示され 実行できませんでした。。。
- kmetu
- ベストアンサー率41% (562/1346)
式ですよね。置換を利用すればいかがでしょう 2000でもいけると思うのですが 検索する文字列 =* 置換後の文字列 新しい式
お礼
返信が遅くなりました アドバイスありがとうございます 置換処理でうまくいきました。 ありがとうございましたm(_ _)m
お礼
お世話になっております >お役に立てず、すみません いえいえ、とんでもございません。 >どのような、エラーが出たのでしょうか? 「アプリケーション定義またはオブジェクトの定義のエラーです」 と表示されてしまいましたが、ActiveSheet.を設定で出来ました すみませんでした。 実は今別件が出て戦っているのですが、このSpecialCellsを知ったおかげで 凄く助かっております。 ただあと少しのところで出来ないので新規でまた質問を立ち上げる予定です アドバイスありがとうございましたm(_ _)m