Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1160to1164
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Problem mit Zuweisung Name eines Sheets

Problem mit Zuweisung Name eines Sheets
chris
Hallo und guten morgen an alle Excel Profis und Forumsbesucher,
ich habe ein großes problem bei dem ih nicht weiß was ich tun soll.
Ich habe eine Quell datei und eine Source Datei.
Evtl. können die Sheet Namen unterschiedlich ausfalllen.
Aber des Code Name "ws_Aenderungen" bleibt gleich.
Jetzt greife ich von der Source Datei auf diesen namen(ws_Aenderungen) zu.
es kommt aber immer ein fehler.
Könnt ihr mir helfen ? Der Code versucht nämlich aus der Source Tabelle das Sheet mit dem Namen ws_Aenderungen zu bearbeiten.
Aber in der Source also Quelle heißt das Sheet anders.
Wo muss ich das Source noch davor schreiben in diese zeile
ALT:
Source.Worksheets([ws_Aenderungen].Name).Cells.EntireColumn.Hidden = False
So soll es sein.(Nur wohin das source schreiben ?
Source.Worksheets("Source" [ws_Aenderungen].Name).Cells.EntireColumn.Hidden = False
Vielen Dank im voraus gruß Chris

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Problem mit Zuweisung Name eines Sheets
11.06.2010 07:09:21
Hajo_Zi
Hall Chris,
es macht sich immer gut, wenn man den relevaten Code postet.
Man könnte jetzt vermuten
Source ist eine variable Dim Source As Workbook und
ws_Aenderungen eine Variable Dim ws_Aenderungen As Worksheet
dann
ws_Aenderungen.Cells.EntireColumn.Hidden = False

AW: Problem mit Zuweisung Name eines Sheets
11.06.2010 07:16:18
chris
Klappt nicht Hajo,
Dim Source As Workbook
die Zeile sieht so aus.
Source.Worksheets([ws_Aenderungen].Name).Cells.EntireColumn.Hidden = False
der Code Namen der Tabelle in destination ist "ws_Aenderungen´"
Danke noch einmal.
Wie gesagt in Source Sheet heißt die Tabelle anders wie im Destination Sheet.
kannst du mir helfen ?
Würde mir sehr helfen.
Danke
Anzeige
AW: Problem mit Zuweisung Name eines Sheets
11.06.2010 07:28:22
Hajo_Zi
Hallo Chris,
mein Vorschlag hast Du nicht umgesetzt. Du benutzt immer noch Range, was ich vermute falsch ist.
Den anderen Nmaen kenne ich nicht und ob Excel den kennt, sehe ich nicht?
Gruß Hajo
AW: offen
11.06.2010 07:27:37
chris
Hallo Hajo,
ich noch einmal.
So funktioniert es:
Source.Worksheets(2).Cells.EntireRow.Hidden = False
aber ich kann ja nicht immer auf Sheet 2 zugreifen.
denn es ist möglich das sich die reihenfolge Ändert.
kannst Du mir zeigen wie ich diese zeile
Source.Worksheets(2).Cells.EntireRow.Hidden = False
So umstelle das es auf den Sheetnamen aus der Source Quelle zugreift.
VieleN dank
Anzeige
AW: offen
11.06.2010 08:30:22
JOWE
Hallo Chris,
Du sprichst von Source und von Quelle. Demzufolge sollten diese beiden Variablen zumindest als Objekte deklariert und mit 'set' definiert worden sein. Diesen Teil des Code zeigst Du aber nicht.
Dein Code-Schnipsel sollte m.E. bei korrekter Deklaration/Defintion also z.B. so lauten:
Quelle.Worksheets(2).Cells.EntireRow.Hidden = False
Gruß
Jochen
AW: offen genauer beschrieben mein Problem-Danke
11.06.2010 09:47:37
chris
Hallo Jochen,
so funktioniert der code auch.
es werden in der Quelle die zeilen eingeblendet.
Aber die 2 für das zweite Sheet kann ich nicht verwenden.
Weil das Sheet auch an einer anderen Position sein kann.
deshalb verwende ich "ws_Aenderungen" in der Zeile.
Source.Worksheets([ws_Aenderungen].Name).Cells.EntireColumn.Hidden = False
und da ist das Problem.
dieser Code:
Source.Worksheets(2).Cells.EntireRow.Hidden = False
liefert mir einen anderen Sheet namen wie dieser:
Source.Worksheets([ws_Aenderungen_Prozess].Name).Cells.EntireRow.Hidden = False
Kannst Du mich verstehen ?
Hier noch einmal versucht das ganze zu erklären:
Public Sub daten_holen_von_Orginal()
Dim a As Byte
Dim x As Long
Dim xMax As Long
Dim y As Long
Dim z As Long
Dim Destination As Workbook
Dim DestinationS As Worksheet
Dim Source As Workbook
Dim SourceS As Worksheet
Dim HasFound As Boolean
Dim Antwort As Byte
Dim zelle As Range
Dim ZelleZiel As Object
Dim ZelleQuelle As Object
Dim IntersectName As String
Dim IntersectName2 As String
Dim SpalteStart As Byte
Dim Gefunden As Boolean
Dim aktnr
Dim Wo
Dim zzz
Dim Wo1
Dim h
Application.EnableEvents = False
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
'Ziel(Destination) = aktuell geöffnete Liste
Set Destination = ActiveWorkbook
Form_Wait.Show
Form_Wait.Repaint
'Quelle(Source) = Orginal Status Liste
Set Source = Workbooks.Open(ws_settings.Range("constZentralPfad") & ws_settings.Range("constZentralDateiname"), False, True) 'Source = Orginal
'Alle Spalten einblenden - in Source Datenbank
Source.Worksheets([ws_Aenderungen_P].Name).Cells.EntireColumn.Hidden = False
'^^^^^^^^^^^^hier ist der fehler.Ich will in der Source die Spalten einblenden. ^^^^^^^^^^^
Aber in dem namen "Source.Worksheets([ws_Aenderungen_P].Name)" steht nicht der Namen der Tabelle wie er auch in der Source tabelle wirklich heißt sondern der Namen wie er in der aktuellen datei in der sich das Makro befindet heißt.
Ist es jetzt etwas klarer ?
Vieln dank an alle die mir helfen können!
Anzeige
AW: offen genauer beschrieben mein Problem-Danke
11.06.2010 13:16:15
Rudi
Hallo,
imho kannst du nicht per CodeName aus Sheets in anderen Workbooks zugreifen. Das musst du suchen und einer Objektvariablen zuordnen.
Schema:
Dim ws_Aenderungen as WorkSheet, Source as Workbook, wks as Worksheet
Set Source = Workbooks.Open(....)
for each wks in Source.Worksheets
if wks.Codename="ws_Aenderungen" then
set ws_Aenderungen=wks
End if
Next wks
...

Gruß
Rudi
AW: offen genauer beschrieben mein Problem-Danke
11.06.2010 14:25:51
chris
Danke Rudi,
ich dachte das geht.
Mit einer Schleife habe ich es nun auch gelößt.
Vielen dank und schönes Wcohenende !
gruß Chris
hier mein code:
For Each ms In Source.Worksheets
If ms.CodeName = ws_Aenderungen.CodeName Then
te = ms.Name
Exit For
End If
Next
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige