Worksheets("CW").Visible = xlVeryHidden
irgendwie nicht. Wo liegt der Bug?
Und wo baue ich den Code am besten ein, wenn der User das Sheet nie zu Gesicht bekommen soll? Geht das in Workbook_Open?
Danke für alle sachdienlichen Hinweise!
Worksheets("CW").Visible = xlVeryHidden
irgendwie nicht. Wo liegt der Bug?
Und wo baue ich den Code am besten ein, wenn der User das Sheet nie zu Gesicht bekommen soll? Geht das in Workbook_Open?
Danke für alle sachdienlichen Hinweise!
per Code geht das IHMO nicht. Du kannst das Sheet doch per Hand schützen, bevor Du die Mappe an die Nutzer übergibst. Da barchst Du keinen Code.
Grüße
Micha
Dein Befehl sieht erstmal rchtig aus, falls es ein Register gibt das CW heißt.
Erstelle doch ein Makro kopiere diese Zeile rein, lass es laufen und lösche das Makro.
also ich habe mal mein Befehl kopiert und ich sehe keinen entscheidenen Unterschied außer Sheets und Worksheets und dies dürfte unerheblich sein.
Sheets("Tabelle1").Visible = xlVeryHidden
Gruß Hajo
wenn es einen Unterschied zwischen 97 und 2000 in diesr Beziehung geben sollte, dann...
Aber ich habe meine Sheets alle so und per Hand geschützt (Excel 2000). Sonst hätte ich dazu auch nicht geraten.
Ich sehe den Sinn von Code an dieser Stelle auch nicht ein. Es verlängert die Ladezeit des Workbooks und wenn Du es irgenwann mal zwischendrin speicherst, dann lohnen die Zeilen im Workbook_Open nie wieder. Oder willst Du zwischdurch die Sheets sichbar machen, das gerade kam aus Deiner Frage nicht raus.
Gruß
Micha
Gruß
Micha
Kommt diese sehr aussagekräftige Fehlermeldung von wegen "application-defined or object-defined error (40036)". :-(
Nur AFAIK geht da dann nur normales hidden, und im Gegensatz dazu ist xlVeryHidden halt "mehr versteckt". D.h. es läßt sich nur per VBA entfernen. (Oder ich bin falsch informiert oder es ist in Excel 2k wirklich anders.)
Und da es um SEHR VERTRAULICHE SACHEN geht, die die User nicht sehen sollen (bzw. nur die, die es angeht hinterher in der Auswertung)...
geh doch einfrach mal in Deine Entwicklungsumgebung, klicke auf eine x-beliebige Tabelle, schau unter Visible und wähle mit der Maus:
2 - xlSheetVeryHidden
Gruß
Micha
hast Du vielleich mal Deine Excel installation überprüft. Also was ich in den letzten Tagen an Beiträgen von Dir gelesen habe und die entsprechenden Antworten, kam immer meistens raus "bei mir geht das nicht". Vielleicht solltest Du mal zu Deiner besonderen Version was sagen. Ich hatte schon gedacht bei so einer einfachen Problemstellung kann es keine Probleme geben. Aber mir scheint ich muß meinen Vorsatz verwirklichen und auf Fragen von Maria nicht antworten.
Gruß Hajo
die Variante ist natürlich auch nicht schlecht. Kannte ich noch nicht.
Gruß Hajo
Und komischerweise sieht der Eintrag unter Sheet1(CW) und (General) (Declarations) - also da wo ich genau das gleiche schon mal versucht hab - genau so aus wie ich es vorher auch schon mal hatte:
Worksheets("CW").Visible = xlVeryHidden
Seltsam, seltsam. Aber code-los ist auch diese Variante wohl nicht.
dachte ich auch:-)
Gruß
Micha
wo findest Du denn diese Befehle unter den Deklarationen?
Ich glaube i.ü. dass der Eigenschaftsschalter direkt in die BIFF-Datei geschrieben wird. Zumindest siehst das BIFF-Format für ein Sheet so aus.
Gruß
Micha
Wie gesagt: Excel 97.
Der Code dazu:
_______________________
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'Open Workbook
Workbooks.Open _
FileName:="h:\Makro-Projekt\CW.xls", _
ReadOnly:=True
'Copy from line 2 downwards
Workbooks("CW.xls").Sheets("CW").Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
'Paste into Source_bearbeitet File
'activate Bearbeitet Workbook
Windows("source_bearbeitet_" + Format(Date, "yymmdd") + ".xls").Activate
'Attention! Has to be open already, but should be.
'Paste
Sheets("bearbeitet").Activate
ActiveSheet.Range("A2").Select
Sheets("bearbeitet").Paste
Workbooks("CW.xls").Close savechanges:=False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
__________________________
Ich glaub, ich sollte langsam Wochenende machen...
mit select hast Du recht. Auf ausgeblendete Register eht dies nicht.
Grundsätzlich sollte in VBA auf select verzichtet werden. Der Cursor ist kein Hund der überall herumgeführt werden muß.
Gruß Hajo
bei mir klappt es mit
Gruß Hajo
Vielen Dank für Deine ganzen Tips & Infos.
So geht es bei mir aber leider auch nicht. Gleiche informative Fehlermeldung wie vorher auch.
Wofür steht bei Dir das "[B65536]"? Statt unendlich?
Und warum "XlUp" - ich hatte ja "XlDown"?
das ja nichts neues
ich bin davon ausgegangen das du die letzte Zeile in Splate B habe wolltest, ich habe es aber schon bemerkt es war die letzte Zelle in zeile 2
wenn ich es richtig gesehen habe dannn
Workbooks("CW.xls").Sheets("CW").Rows("2:2").Cells(Sheets("CW").[IV2].End(xlToLeft).Column, 2).Copy
Gruß Hajo
Stimmt, daran daß etwas erstmal nicht geht hab ich mich schon fast gewöhnt... *g*
Ich will Zeile 2 bis Ende kopieren. (Zeile 1 ist die Headerzeile.) Jetzt kommt immerhin "Subscript out of Range" - das ist doch mal positiv. Werd erstmal alleine weiterdoktern. Aber heute nicht mehr, muß los!
Merci vielmals und sorry für meine Dauer-Begriffstutzigkeit...
Gruß Hajo
Ich habe jetzt diverse Möglichkeiten durchgespielt, z.B. auch
With Workbooks("CW.xls").Sheets("CW")
.Range(Rows("2:2"), Rows("2:2").End(xlDown)).Copy
End With
Geht alles nicht... :-/
Montagmorgen...