アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel VBA シロウト です。

さて ACCESS から データベースとしてダウンロードしたエクセルブックがあり、
その範囲は、A1からW10000までです。
月により、行数は8000から10000の間で変動します。
ダウンロードする直後まで、何行あるかは わかりません。

列Tだけは、エクセルブック上、空白に見えるのですが
=isblank で調べると、falseになります

ACCESSの段階の処理において、文字列書式で長さ0になっているようです。
これは、ACCESSの処理段階で、空白には二種類あり、
本当の空白と、””などの処理結果によるものとがあるようです。
その後者の処理により、エクセルブック上は、空白のようで、空白でないセルがあります。

その列Tのすべてではなくて、複数の任意の場所にあります。毎月異なります。

その空白のようにみえるセルだけを、特定して、受領無 という三文字に
自動的に置き換えるVBAをおしえてください。

基本的に、マクロ有効ブック111へ、アクセスからダウンロードしたエクセルブック222の
、シート名はSSSへ貼り付けて、範囲は、列Aから列Wまで毎月一定ですが、
行数は変化します。

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

A 回答 (1件)

こんばんは、


受領無を入力するのなら、T列のみで良いのですよね?
Sub sample()
Dim R As Range
With Workbooks("222.xlsx").Worksheets("SSS")
For Each R In .Range("T1", .Cells(Rows.Count, "T").End(xlUp))
If IsEmpty(R) = False And R.Value = "" Then R.Value = "受領無"
Next
End With
End Sub

もし、データ全体が対象なら .Range("T1", .Cells(Rows.Count, "T").End(xlUp)) を .UsedRange  としてみてください。(処理遅いかも)

対象のブック222.xlsxは開いているものとしています。
Excel関数の結果が "" のセルも受領無と 入力されます。
    • good
    • 0
この回答へのお礼

はいそうです
ありがとうございます
やってみます
本当に助かりました

お礼日時:2021/06/21 00:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!