2016-11-30 15 views
0

私は以下のコードを使用してワークシートの名前を変更しています。ドロップダウンリストでワークシートの名前を変更

Option Explicit 

Sub RenWSs() 

    Dim ws As Worksheet 
    Dim shtName 
    Dim newName As String 
    Dim i As Integer 
    Dim RngStr As String 

    RngStr = Application.InputBox(prompt:="Select the Range for the new Sheet's name", Type:=2) 
    For Each ws In Worksheets 
     With ws 
      If Trim(.Range(RngStr)) <> "" Then 
       shtName = Split(Trim(.Range(RngStr)), " ") 
       newName = shtName(0) 
       On Error GoTo ws_name_error 
       .Name = .Range(RngStr) 
       GoTo done 
repeat: 
       .Name = newName & i 
       GoTo done 
ws_name_error: 
       i = i + 1 
       Resume repeat 
      End If 
     End With 
     On Error GoTo 0 
done: 
    Next 

End Sub 

これは、入力ボックスとその有効な罰金によって新しい名前を選択しています。今私が望むのは、入力ボックスを呼び出す前に、以下のプロセスを実行する必要があるということです。

ドロップダウンリストに名前があり、J16のようなすべてのワークシートで1つずつ更新されるようにドロップダウンリストに名前が付けられています。

くれ

+0

ドロップダウンが何で、どこに失われているのですか。すべてのシートにセル「J16」のドロップダウンがありますか? –

+0

はい私は各シートのセルj16にドロップダウンリストを持っています –

+0

これらのdron downが持つ必要があるソースまたは値は何ですか? –

答えて

0

を助けてください以下のコードは、すべてのwsシートを通じてlopp、および(単にテスト目的のために)「テスト1」に「J16」のセルの値を変更します。

Option Explicit 


Sub ModifyDropDownValue() 

Dim ws As Worksheet 

For Each ws In Worksheets 
    With ws 
     ' modify the value in cell J16 
     .Range("J16").Value = "Test 1" 
    End With 
Next ws 

End Sub 
+0

あなたの助けを借りて、その正常に働いてくれてありがとう、私は40のワークシートの企業名を更新する必要があります(名前は違うでしょう)、Test1を置くのではなく、ドロップダウンリストからどのようにドロップダウンリスト1名前2 ........... –

関連する問題