/ / VBA - referenčný rozsah v inom hárku pomocou hárka Worksheet_Change - Chyba 1004 - vba, excel-vba, excel

VBA - referenčný rozsah v inom pracovnom hárku pomocou Worksheet_Change - Chyba 1004 - vba, excel-vba, excel

Potrebujem uviesť rozsah v inom pracovnom hárku, takže som použil udalosť Worksheet_change, ale zobrazuje sa chyba 1004. Nižšie je uvedený kód -

Private Sub Worksheet_Change(ByVal Target As Range)
Dim inputSheetName As String
Dim dataSheetName As String
inputSheetName = Range("Selected_State").Worksheet.Name
dataSheetName = Range("Selected_City").Worksheet.Name
End Sub

tu Rozsah - „Selected_State“ je rozsah v Tabuľke 1 a „ Rozsah - „Selected_City je rozsah v hárku2

odpovede:

1 pre odpoveď č. 1

Rozsah je vždy v rámci konkrétneho pracovného hárka. Ak používate

Range("Selected_State")

potom Excel predpokladá, že tento rozsah je v aktívnom hárku. Je to presne toto:

ActiveSheet.Range("Selected_State")

Ak teda chcete vedieť, v ktorom pracovnom liste je pomenovaný rozsah, mali by ste použiť tento postup:

ThisWorkbook.Names("Selected_State").RefersToRange.Worksheet.Name

Poznámka: Toto funguje iba v prípade, že názov je v rozsahu zošita, ale nie v rámci rozsahu pracovného hárka. Ak chcete nájsť toto meno, musíte prebehnúť vo všetkých pracovných hárkoch.