あいまいな名前が検出されました:TempCombo.
こんにちは、この問題を解決するためのあらゆる援助をおかげでおかげでお願いいたします.
私の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 Cdouble
として薄暗い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)
あいまいな名前のエラーの一般的な理由は、名前が他のものにすでに使用されていることです.コンボの名前を変更する(Tempcboを提案されている)、次にVBAコードで編集->tempcomboのすべてのインスタンスをtempcboに置き換え、その問題を解決するかどうかを確認してください.