システムwiki

あいまいな名前が検出されました:TempCombo.

BGDoc 受付中 最終更新日:2021-06-16 15:42

こんにちは、この問題を解決するためのあらゆる援助をおかげでおかげでお願いいたします.

私のVBAの理解は非常に限られており、私が知っていることは以前は私のワークステーションが次のコードが機能した古いversionのMicrosoft Excelを使用していたことです.

Microsoft Office 365に更新した後、プログラムは次のように機能しなくなりました.

1.TempComboという名前のActiveXコンボボックスで、ドロップダウンの名前付き範囲を入力しなくなり、1つの空のボックスを表示します.

2.コンボボックスの[プロパティ]windows を閉じると、「あいまいな名前が検出されました」と表示されます.

3.Dubug Compile VBAProjectは使用後にグレー表示され、エラーが発生しません.

Excelのversionは次のとおりです.

version2008(Build13127.21064)半年環境チャネル

次のコードは現在使用中のもので、リストされているversionに移行してから機能を中止しました.

オプション明示


「Conttentures Inc.'www.contextures.com

プライベートサブTempCombo_KeyDown(MSForms.ReturnIntegerとしてのByValキーコード、整数としてのByVal Shift)

'Combo Boxを隠して、EnterとTab

の次のセルに移動します.

ケースキーコード

を選択してください

ケース9 'タブ

ActiveCell.Offset(0,1).アクティブ化

ケース13 '

を入力してください

ActiveCell.Offset(1,0).アクティブ化

ケース

'何もしない

終了

終了SUB


プライベートサブWorksheet_SelectionChange(ByVal Target As Range)

DIM STRは文字列

です

OleObject

としてのDIM CBotemp

ワークシートとしてのws

範囲

としての薄暗いTGT

範囲

としてのDIM TGTMRG

範囲

としてDIM C

double

として薄暗いtgtw

薄暗い

DIM ADD LONG

WS= ActiveSheet

を設定します

エラーの再開Next

「ドロップダウン矢印をカバーする余分な幅」

addw= 15

「細胞をカバーする余分な高さ」

addh= 5

target.rows.count>1を次にExithandler

tgt= target.cells(1,1)

tgtmrg= tgt.mergearea

を設定します

Error Goto ErrHandler

cbotemp= ws.oleObjects( "tempcombo")

エラーの再開Next

cbotemp.visible= true

の場合

cbotemp

を使って

.top= 10

.LEFT= 10

.ListFillRange= ""

.linkedCell= ""

.visible= false

.Value= ""

で終わります の場合は終わります

Error Goto ErrHandler

tgt.validation.type= 3の場合

application.enableEvents= false

tgtmrgが何もない場合は

'マージされたセルの合計幅を取得

TGjp= 0

TGTMRG.Cells

の各Cについて

TGjp= TGjp + C.Width

次のC

の場合は終わります

str= tgt.validation.formula1

str= right(str、len(str)-1)

cbotemp

を使って

.visible= true

.LEFT= TGT.LEFT

.top= tgt.top

TGjp<>0の場合

'マージされたセルの合計幅を使用する

.width= tgtw + addw

else

.width= tgt.width + addw

の場合は終わります

.hight= tgt.height + addh

.listFillRange= str

.LinkedCell= TGT.ADDRESS

で終わります

cbotemp.activate

me.tempCombo.dropdown

の場合は終わります

exithandler:

application.enableEvents= true

application.ScreenUpdating= true

SUB

を終了します

errandler:

XithAndler

を再開する

終了SUB

返信リスト(回答:1)

1 #
OssieMa

あいまいな名前のエラーの一般的な理由は、名前が他のものにすでに使用されていることです.コンボの名前を変更する(Tempcboを提案されている)、次にVBAコードで編集->tempcomboのすべてのインスタンスをtempcboに置き換え、その問題を解決するかどうかを確認してください.