Registriert seit: 09.05.2015
Version(en): 2013, Office 365
Guten morgen zusammen,
habe schon wieder eine Frage an dieses kompetente Forum.
Aus einer geschlossenen Arbeitsmappe möchte ich einen Zellwert auslesen.
Mitfolgender Codezeile funktioniert das auch super:
Code: [Auswählen]
Code:
Cells(6, colTarget2).Value = ExecuteExcel4Macro(quelle & Cells(rowQuell, colQuell).Address(ReferenceStyle:=x1R1C1))
Um variabler zu sein möchte ich die Zelle aber mit einem definierten Namen ansprechen zB. so:
Code: [Auswählen]
Code:
Cells(6, colTarget2).Value = ExecuteExcel4Macro(quelle & Range("Testname").Address(ReferenceStyle:=x1R1C1))
Das funktioniert aber leider nicht - da bekomme ich die Fehlermeldung: Die Methode Range für das Objekt_Global ist fehlgeschlagen!
Was mach ich da falsch bzw. wie müsste die Codezeile abgeändert werden?
Für einen Lösungsvorschlag wäre ich dankbar!
Wünsche noch einen schönen Tag
Erich
Mit freundlichen Grüßen / Best regards
//
----------o00o---°(_)°---o00o----------------------
Erich
Registriert seit: 30.08.2014
Version(en): Office 365 - Beta 32 Bit
Hallo Erich, :19:
persönlich arbeite ich nicht mehr mit "
ExecuteExcel4Macro" - macht zuviel Probleme und ist nicht flexibel genug. Probiere es mal so: :21:
Code:
Option Explicit
Const strSheetQ As String = "Tabelle1" ' DIE Tabelle wird ausgelesen"
Const strSheetZ As String = "Tabelle1" ' Die Tabelle in DIESER Datei
Const strQuelle As String = "TestName" ' Der Bereich mit definiertem Namen
Const strZiel As String = "E7" ' Die Zielzelle in DIESER Datei
Const strFile As String = "C:\Temp\08_Datei.xlsx" ' Pfad und Datei
Public Sub Main()
With ThisWorkbook.Worksheets(strSheetZ)
.Range(strZiel).Formula = "='" & Mid(strFile, 1, _
InStrRev(strFile, "\")) & "[" & _
Mid(strFile, InStrRev(strFile, _
"\") + 1) & "]" & _
strSheetQ & "'!" & strQuelle
.Range(strZiel).Formula = .Range(strZiel).Value
End With
End Sub
Public Sub Main_1()
Dim strQuellSheet As String
Dim strZielSheet As String
Dim strDefName As String
Dim strZielZelle As String
Dim strDatei As String
With Tabelle1
strQuellSheet = .Range("A10").Text
strZielSheet = .Range("A11").Text
strDefName = .Range("A12").Text
strZielZelle = .Range("A13").Text
strDatei = .Range("A14").Text
End With
With ThisWorkbook.Worksheets(strZielSheet)
.Range(strZielZelle).Formula = "='" & Mid(strDatei, 1, _
InStrRev(strDatei, "\")) & "[" & _
Mid(strDatei, InStrRev(strDatei, _
"\") + 1) & "]" & _
strQuellSheet & "'!" & strDefName
.Range(strZielZelle).Formula = .Range(strZielZelle).Value
End With
End Sub
Du arbeitest
entweder mit der Sub "
Main" und den
dazugehörigen Konstanten,
oder mit der Sub "
Main_1" - da werden die Daten wie definierter Name, Quelltabellenblatt usw. aus bestimmten Zellen geholt.
________
Servus
Case
Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:1 Nutzer sagt Danke an Case für diesen Beitrag 28
• sharky51
Registriert seit: 09.05.2015
Version(en): 2013, Office 365
Hallo und vielen Dank für die Lösungsvorschläge.
Habe mich mal mit der Main-Version beschäftigt - leider ohne Erfolg.
Es kommt die Fehlermeldung: Laufzeitfehler 1004 - Anwendungs- oder objektdefinierter Fehler.
Die Angaben die ich gemacht habe sind folgende:
Code:
Option Explicit
Const strSheetQ As String = "BMS-Vergleich" ' DIE Tabelle wird ausgelesen"
Const strSheetZ As String = "Checkliste Home All" ' Die Tabelle in DIESER Datei
Const strQuelle As String = "BMS_2018" ' Der Bereich mit definiertem Namen
Const strZiel As String = "BMS_Test" ' Die Zielzelle in DIESER Datei
Const strFile As String = "D:\xyz\Office\Excel\Aktuell\1.1_XYZ1_V2018.xlsm" ' Pfad und Datei
Hast Du ev. noch ne Idee an was es hapern könnte?
Mit freundlichen Grüßen / Best regards
//
----------o00o---°(_)°---o00o----------------------
Erich
Registriert seit: 30.08.2014
Version(en): Office 365 - Beta 32 Bit
Hallo Erich, :19:
hab es mal mit allen Konstanten von Dir getestet - es geht. :21:
Den 1004er bekomme ich z. B. wenn einer der definierten Namen nicht stimmt.
________
Servus
Case
Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:1 Nutzer sagt Danke an Case für diesen Beitrag 28
• sharky51
Registriert seit: 09.05.2015
Version(en): 2013, Office 365
Ups, dann muss ich nochmals testen.
Geht aber erst morgen.
Vielen Dank für die Rückmeldung, melde mich wenn ich nicht weiterkomme.
Mit freundlichen Grüßen / Best regards
//
----------o00o---°(_)°---o00o----------------------
Erich