Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
720to724
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
720to724
720to724
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Computerspezifischer Code...???

Computerspezifischer Code...?
Joachim
Hallo,
ich habe die Idee eine Exceltabelle weiterzugeben.
Damit alle wie wild die tabelle kopieren, denke ich daran die Tabelle an den Computer zu binden.
Ich denke da an zwei Möglichkeiten.
1.) Kann man einen Code mit einer Excelformel ermitteln der einen Wert wiedergibt der absolut Rechnereigen ist. Heisst also -jeder rechner gibt etwas anderes aus.
Wenn man nun diesen Wert hat kann man diesen bei jedem Start abfragen und vergleichen. Wenn er nicht stimmig ist soll der Nutzer einen Hinweis erhalten, dass er sich an mich wenden soll, um eine laufähige Tabelle zu erhalten.
Dies kann ich ja vorab erfragen.
2.) Am schönsten wäre es, wenn man dem zukünftigen Nutzer die Tabelle gibt und beim ersten Start wird eben dieser rechnereigene Wert ermittelt und automatisch in die Tabelle eingetragen. Bedeutet also eine Art Initialisierung beim ersten Start. Somit ist die Tabelle an den Computer gebunden und sie kann nicht weitergegeben werden.
In diesem Fall müsste noch eine zeitroutine eingebaut werden, die nur einen kurzen Zeitraum zur Verfügung stellt, um den esrten Start vorzunehmen.
Ich stelle mir dabei vor, dass jemand innerhalb von vielleicht 5 Tagen die Tabelle einmal gestartet haben muss, um damit fortwährend arbeiten zu können. Nach diesen 5 Tgaen kann die Tabelle nicht mehr gestartet werden und eine neue muss beschafft werden.
Ich hoffe, ich habe mein Anliegen gut geschildert und es hat jemand eine Ideee zur Verwirklichung.
Gruß
Joachim Röder

78
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Computerspezifischer Code...?
ransi
Hallo
Bei VBA nein hast du dir aber gewaltig was vorgenommen.
Zu1)
Reicht dir eventuell schon der computername?
Option Explicit
Public

Sub test()
MsgBox VBA.Environ("Computername")
End Sub

ransi
AW: Computerspezifischer Code...?
ransi
HAllo
Mal ein wenig gegoogelt:


Private Sub test()
    GetCPUData
End Sub
Private Sub GetCPUData(Optional ByVal strComputerName As String = ".")
'Von Nepumuk
'Von wem auch sonst
    Dim objWMI As Object, objItem As Object
    Set objWMI = GetObject("winmgmts:\\" & strComputerName & "\root\cimv2"). _
        ExecQuery("Select * from Win32_Processor")
    For Each objItem In objWMI
        Debug.Print "Prozessor   : " & objItem.DeviceID
        Debug.Print "Name        : " & Trim$(objItem.Name)
        Debug.Print "Takt (MHz)  : " & objItem.MaxClockSpeed
        Debug.Print "CPU ID      : " & objItem.ProcessorId
        Debug.Print "Computername: " & objItem.path_.server
    Next
    Set objWMI = Nothing
End Sub


CPU ID könnte auch was für dich sein.
ransi
Anzeige
AW: Computerspezifischer Code...?
Joachim
Hallo,
die Richtung haben wir nun schon -geht wohl nur mit VBA-
Habe deinen Code einmal eingebunden - nur ess geschieht nichts.
Wie erhalte ich die Infos?
Gruß
Joachim
AW: Computerspezifischer Code...?
ransi
Hallo Joachim
Du hast zwar geschrieben VBA nein, aber das so ein klares NEIN ist hätte ich nicht gedacht.
Dieser code ist NICHTS im Vergleich zu dem was da noch kommen würde bei deinem Projekt.
Wenn du diesen 10 Zeiler schon nicht zum laufen bringst sehe ich gaaaaaaaaanz dunkelgrau
für dein Vorhaben.
Hast du dir schonmal Gedanken gemacht das ganze an einen Auftragsprogrammierer zu geben?
Sei mir nicht böse aber ich für meinen Teil ziehe mich aus diesem Thread zurück.
Aber trotzdem viel Glück.
ransi
Anzeige
AW: Computerspezifischer Code...?
HansHei
Hallo Joachim,
nicht aufgeben. Probier mal folgenden Code und starte über "Makro ausführen".


Sub test()
Dim i
On Error Resume Next
For i = 0 To 40
Cells(i, 1) = Environ(i)
Next i
End Sub


Gruß
Hans
Anzeige
AW: Computerspezifischer Code...?
Joachim
Hi,
gesagt getan.
nun habe ich div. infos.
Wie gehts damit weiter?
Jo
AW: Computerspezifischer Code...?
HansHei
Also Jo,
jetzt hast Du doch schon mal Daten. Du musst Dich nur entscheiden, welche Abrfage Du in deinem zukünftigen Makro nutzt, um im Falle der unberechtigten Weitergabe an einen anderen Nutzer die Datei sofort wieder zu schließen. z.B. so:


Private Sub Workbook_Open()
If Not VBA.Environ("NUMBER_OF_PROCESSORS") = 123 Then
Application.DisplayAlerts = False
ThisWorkbook.Close False
End If
End Sub


Gruß
Hans
Anzeige
AW: Computerspezifischer Code...?
Matthias
Hallo Hans,
ein schönes Beispiel. Wenn der PC keine 123 Prozessoren hat, soll das Programm sich sofort schließen... ;-)
Es gibt übrigens die HD-Seriennummer, das ist eine gute Identifikationsmöglichkeit:

Public Sub Seriennummer_auslesen()
' benötigt Verweis auf Microsoft Scripting Runtime
Dim myFileSystemObject As New FileSystemObject, myDrive As Drive
Set myDrive = myFileSystemObject.GetDrive("C")
MsgBox myDrive.SerialNumber
Set myDrive = Nothing
Set myFileSystemObject = Nothing
End Sub

(Code ist aus dem Forum)
Für das Gesamtprojekt sehe ich aber wie Ransi schwarz, ein Problem ist ja schon der Schutz des VBA-Codes.
Gruß Matthias
Anzeige
AW: Computerspezifischer Code...?
Sven
Hi,
Drive als Kriterium ist im Zeitalter von externen Festplatten und USB-Sticks kaum das
geeignete. Besser die Seriennummer des Motherboards verwenden.
mfg Sven
AW: @Sven
HansHei
Hallo Sven,
war doch nur nen Beispiel. Entscheiden muss Jo selber :-)
Gruß
Hans
AW: Computerspezifischer Code...?
Matthias
Hi Sven,
naja, aber ein Laufwerk C sollte ein Rechner schon noch haben, trotz all des Schnickschnacks ;-)
Gruß Matthias
AW: Computerspezifischer Code...?
Sven
Hi,
ja, wenn nur die Existens des Drives und nicht, ob es auch der Speicherort ist abgefragt
wird.
mfg Sven
AW: Computerspezifischer Code...?
Matthias
Hallo Sven,
der Code fragt ja nur die Seriennummer der Laufwerks C: ab, sonst nichts.
Gruß Matthias
Anzeige
AW: @Matthias
HansH
Hallo Matthias,
jetzt hast Du mein ganzes "pädagogisches" Konzept zerstört ;-). Genau das war beabsichtigt um Jo einerseits die Geheimnisse des VBA näher zu bringen, andererseits wäre ihm dann die Erleuchtung gekommen, die Du in deinem Fazit ziehst. Zumindest wären ihm die Zusammenhänge der kleinen Codes klar geworden. Aber seis drum, ab dafür. Jo, kann ja vielleicht damit rechnen, dass keiner der zukünftigen AnwenderInnen Ahnung hat.
Gruß
Hans
AW: @Matthias
Matthias
Hallo Hans,
...kann ja vielleicht damit rechnen, dass keiner der zukünftigen AnwenderInnen Ahnung hat.
Ja, das kann tatsächlich sein. In meinem Job (Krankenpflege) ist es jedenfalls so. Die ganzen Schutzmechanismen, die ich einbaute, wurden wohl noch nie auf die Probe gestellt.
Gruß Matthias
Anzeige
Gegen das Schwarzsehen...
Joachim
Hi,
auf der einen Seite bin durchaus lernfähig und auf der anderen Seite möchte ich doch gerne wissen wie's geht.
Die Leute die ich mit meiner Tabelle beglücken möchte haben in der Regel so gt wie keine Ahnung. Ganz nach dem Motto -Passwort ist Passwort da kann man nichts machen.
Wer was machen will und es kann - der hat es auch verdient.
Ich denke, dass der vorhandene --Schutz-- in mehr als 90% der Fälle genügt.
Ich habe nun schon so manche unmögliche Sache lösen können, obwohl es eigentlich garnicht so einfach ist. Wie man so meinte.
Also wolln wir es versuchen...
Die Aufgabe ist eigentlich einfach - aber nicht unbedingt leicht - das weis ich auch.
--------------------------
Also die Idee mit dem Motherboard finde ich wohl auch am besten. Da ja Stick und CO. immer üblicher sind.
CPU-ID gibts nur bei Intel - also das ists auch nicht.
Also Richtung Motherboard..
Der Weg sollte wohl so sein:
Zu allererst muss jedoch die Makrofunktion aktiviert sein - sonst geht garnichts.
Wenn Makro deaktiv - dann geht nur eine Seite auf, auf der steht -ohne Makro nix is-
Wenn dann Makro aktiv....
Motherboard (ID) auslesen.
Dann zur Zielzelle.
1.) Wenn hier nichts drin und das Datum HEUTE ist nicht älter als 5 Tage zurück ist ist das OK - MB-ID wird eingetragen - die Tabelle geht auf.
2.) Ist etwas darin und stimmt mit der MB-ID überein auch alles OK.
Wenn das MB einmal getauscht werden sollte muss eben eine neue Tabelle gemacht werden.
So langsam gewöhnt man sich auch an VBA, wenns auch noch sehr kryptisch für mich ist.
So long - ich bin ganz gespannt..
JO
Anzeige
AW: Gegen das Schwarzsehen...
Matthias
Hallo Jo,
Also die Idee mit dem Motherboard finde ich wohl auch am besten. Da ja Stick und CO. immer üblicher sind.
Wie ich Sven schon erläuterte, kann die Datei durchaus woanders liegen, es wird nur zur Identfikation des PCs die HD-Seriennummer von Laufwerk C: abgefragt.
Eine Identfikation übers Mainboard geht natürlich auch, ich weiß nur nicht wie... ;-)
Und eine Identfikation über den Rechnernamen oder eine andere Information aus Environ() finde ich zu restriktiv.
Gruß Matthias
AW: Gegen das Schwarzsehen...
HansH
Hallo Jo,
dann bin ich erst mal raus. Matthias und Sven machen das schon.
Gruß
Hans
Anzeige
AW: Gegen das Schwarzsehen...
Matthias
Hallo Hans,
Aber wieso denn? Du hast ihn doch dazu ermutigt, das Projekt anzugehen. Ich hab ja nur meine Meinung zu ersten grundsätzlichen Fragen abgegeben.
Gruß Matthias
AW: Gegen das Schwarzsehen...
HansH
Hallo Matthias,
das ist doch ganz einfach. Sven und Du einigen sich darauf was der sicherste(sowieso unsichere) Weg ist und machen einen alternativen Vorschlag für diese "Kernfrage";-) :
If Not VBA.Environ("NUMBER_OF_PROCESSORS") = 123 Then
und dann kann Jo die nächsten Schritte mit Hilfe des Forums angehen.
Es sei denn, Jo überlegt sich, besser auf die Zeitschiene zu bauen und die Datei nach Ablauf einer vorgegebenen Zeit zu schließen oder alternativ nach Anzahl der Öffnungen.
Gruß
Hans
AW: Gegen das Schwarzsehen...
Joachim
Hi,
nun hängen wir wohl..?
Gibt es denn eine Möglichkeit die MB-ID abzufragen?
Die Absicht mit der FP geht zwar auch - aber wo doch in der heutigen Zeit öfters die FP erneuert wird oder die Abteilung RAID immer beliebter wird, kann es schon häufiger vorkommen, dass diese Indikatoren öfter wechseln. Ein MB wird schon seltener gewechselt.
Oder gibt es noch eine andere Computereigene Info die leicht abzufragen ist und nicht häufig ausgetauscht wird. Ich denke da z.B. an die MAC Adresse, denn eine Netzwerkkarte hat fast jeder und diese wird wohl so gut wie nie getauscht.
Wie leicht ist dieser Wert abzufragen?
Gruß
JO
AW: Gegen Peanuts...
HansHei
Hey Jo,
alles kein Beinbruch. Vielleicht musst Du doch erst mal die Frage nach der sichersten ID im Forum stellen. Dann können wir abstimmen. Also eher ein Problem demokratischer Gesellschaften als ein Fachliches? :-)
Gruß
Hans
AW: Gegen Peanuts...
Joachim
Tja - die sicherste ID....
ist im Prinzip garnicht sooo wichtig.
Es geht nur darum, dass man ein Hardware abfragt die wohl nicht so häufig gewechselt wird und leicht abzufragen ist. Sei#s drum es geht natürlich auch mit FP C - wenn's denn einfach ist.
Wir können diese ja zunächst wählen - und falls im laufe der Communikation eine bessere Idee dabei kommt ist dies ja einfach umzustellen.
Ist das OK?
Mir gehts darum, den Weg zu finden, um zum eigentlichen Ziel zu gelangen, die einzelnen Parameter sind ja jederzeit auszutauschen, wenn's denn Sinn macht.
Gruß
Jo
AW: Gegen Peanuts...
Sven
Hi,
alles sinnlos, wenn es sich ausschließlich auf VBA stützt, so bekommst du nichts
Sicheres hin. Um Amateure fernzuhalten, reicht auch ein Lösung nach Zeit oder
Anzahl der Öffnungen.
mfg Sven
AW: Gegen Peanuts...
Matthias
Hallo Jo,
ok, mal ein Szenario:
Du erstellst die Datei wie vorgenommen, dann gibst du einer Person die Datei.
Die macht sich erstmal eine Kopie und legt die unberührte Datei erstmal zur Seite.
Wenn sie dann eine neue "Lizenz" braucht, stellt sie das Rechnerdatum zurück auf den Tag der Dateiübergabe und "installiert" nun die Kopie. Danach kann sie das Datum ja wieder vorstellen.
Viel Raffinesse benötigt das nicht, deshalb sollte es wohl berücksichtigt werden.
Gruß Matthias
AW: Gegen Peanuts...
Joachim
Hallo Matthias,
recht hast du, das ist mir auch klar.
Doch du musst diesen Umstand auch wissen. Nicht wahr?
Wenn du nichts von dieser Vorgehensweise weisst und du bekommst die Datei von mir, dann wirst du sie öffnen und das war es. Die Datei ist registriert und nicht mehr zur Weitergabe geeignet.
Wenn du aber einen Verdacht hast, woher denn bloß?, dann hilft dir die Kopie auch nicht viel weiter, da du ja im besten Fall nur 5 Tage Zeit hast mehrere Installationen durchzuführen. Denn nach 5 Tagen wird die Datei aus diesem Grund schon unbrauchbar.
Wenn du dann noch -ganz pfiffig bist- stellst du dein Systemdatum zurück. Klar....
Doch woher weisst du all dies?
Alles kann man umgehen.
Wenn dem so ist - sei es dir gegönnt - aber lohnt sich das? wofür?
Mir geht es auch nur darum, dass ich nur wissen will, wer eine Kopie meiner Tabelle hat.
Ich will damit kein Geld verdienen, sonderm nur -ein wenig- vermeiden, dass sie sich völlig unkontrolliert verteilt.
Die Empfänger sollen damit auch ausgiebig ihre Arbeit erleichtern - ich möchte nur nicht, dass Leute sich damit die Arbeit erleichtern die nichts mit mir zu tun haben, mir aber sehr wohl schaden können, in dem Sie, durch meine Hilfe einen Vorteil haben und mir und meinen Partnern Kunden wegnehmen können.
Das ist alles.
Ich habe hier kein geheimnisvolles Projekt. Es macht mir Spass:
- etwas neues zu lernen.
- Ideen zu realisieren
- zu erleben, wenn etwas funktioniert.
Gruß
Jo
AW: Gegen Peanuts...
Joachim
Hi,
wie bekomme ich denn nun den Wert der -FP-ID- zur Auswertung?
Heisst also:
Ist die FP-ID noch nicht bekannt und ist das Datum HEUTE nicht mehr als 5 Tage nach der Vorgabe wird die FP-ID in der Datei festgeschrieben und die Tabelle öffnet sich.
Wenn die FP-ID schon festgestellt wurde und stimmt mit der vorhandenen überein öffnet sich ebenfalls die Tabelle.
Andernfalls kommt nur noch eine Nachricht:
Die Tabelle kann nicht registriert werden - bitte wenden Sie sich an den Autor. Email:...
oder
Diese Tabelle ist nicht für diesen Computer registriert. Bitte fragen Sie den Autor nach einer registrierfähigen Version. Email: ...
bestätgen und TSCHÜSS.
Gruß
JO
AW: Gegen Peanuts...
Joachim
OK...
was bringt mir die Zeit oder die Anzahl der Öffnungen.
Danach ist die Datei dann unbrauchbar.
Oder ich gebe eine Version ohne diese Beschränkung.
Dann kann ich mir das alles sparen und die Datei verteilt sich wohin auch immer.
Sie meine letze Ausführung - dann weisst du was ich beabsichtige.
Gruß
Jo
AW: Gegen Peanuts...
HansH
Hallo Jo,
mal ein anderer Denkansatz. Anbei eine Datei die auf Zeit spielt. Das Makro-aktivieren- Problem ist so wie so nicht zu lösen.
https://www.herber.de/bbs/user/30245.xls
Bei dieser Variante wird, dem Himmel sei Dank, nur geschlossen.
Gruß
Hans
AW: Nix ohne Makro...
Joachim
Hi,
so ganz stimmts nicht.
Ich habe hier im Forum schon etwas gefunden.
Hier geht es darum, dass die Tabelle erst dann geöffnet wird, wenn Makros aktiviert.
Wenn nicht, gibt nur den Hinweis darauf.
Was mich hier nur stört ist der weitere Vorgang...
es wird der Computername abgefragt, das ist mir ein wenig zu einfach.
Deshalb möchte ich auf eine Hardwareprüfung hinaus.
Die Funktion finde ich schon super.
Mit der von gedachten Zeitsteuerung finde ich keinen Ansatz. Wie soll es damit weitergehen?
Ich lade die Datei mal hoch und du kannst sehen, was ich meine.
Es ist natürlich erst ein Teil meiner Absicht.
Wenn die Makrobedingung erst einmal erfüllt ist, geht es ja dann weiter zu der Hardwareprüfung, die wenn negativ dann den Kommentar bekommt: nicht registrierfähig bezw. falscher Computer....
Die Datei:
https://www.herber.de/bbs/user/30246.xls
Man muss sie natürlich mit deaktivierten Makros starten - sonst ist sie gleich wieder weg.
Gruß
Jo
AW: Nix ohne Makro...
Matthias
Hallo Jo,
hier eine erweiterte Version, die auch das Speichern der Mappe abfragt.
Vor dem Speichern werden wieder alle Blätter bis auf das mit der Meldung ausgeblendet.
Dann wird gespeichert, anschließend werden die anderen Blätter wieder eingeblendet.
https://www.herber.de/bbs/user/30247.xls
Gruß Matthias
AW: Nix ohne Makro...
Joachim
Hi,
ja das ist im Prinzip das selbe.
Die Sache mit dem Speichern habe ich zunächst noch ausser Acht gelassen.
Aber du hast recht. Wenn ich das Speichern unter anderm Namen zulasse, dann habe ich eines Tages das Problem, das diese Dateien nicht mehr zu öffnen sind, weil ja die Hardware getauscht wurde und sie dann die Hardwareprüfung nicht mehr bestehen würden.
Besser wäre hier -wie du schon angesetzt hast- Dateiname kann nicht geändert werden.
Vielleicht ist ein speichern ohne die Formeln möglich - also nur eine Tabelle in denen die Werte enthalten sind und nicht mehr editierbar. Ich denke aber, das dies evt. doch etwas zu aufwendig ist. Besser ist es als PDF oder HTML zu speichern, damit die Aswertung wiederholt gedruckt werden kann.
Bin aber für diesen Punkt für Ideen empfänglich.
Gruß
Jo
AW: Nix ohne Makro...
Matthias
Hey Joe,
das mit dem Speichern ist v.a. wichtig, weil vor dem Speichern der Zustand hergestellt werden muss, der einem Öffnen der Datei ohne Makros die Bearbeitung nicht möglich macht.
Speichern unter hab ich daktiviert, weil ich zu faul war, das zu implementieren...
Man kann die Datei ja auch mit dem Explorer kopieren.
Gruß Matthias
AW: Nix ohne Makro... -Speichern-
Joachim
Hallo,
ich habe nun alles soweit --am laufen--.
Doch ein Problem habe ich noch.
Wenn ich eine Auswertung gemacht habe und diese Tabelle nun speichere, obwohl das Speichern unter... verhindert wird, (man kann ja den Explorer nutzen) habe ich dann ein Problem, wenn ich z.B die Festplatte wechsele erkennt die Tabelle nicht mehr die Berechtigung.
Also kann man diese Dateien nicht mehr öffnen.
Ok. Meine erste Idee war. Drucken mit dem PDF-Writer -hat aber nicht jeder-
Markieren und kopieren z.B. auch nach Word - geht nicht Blatt geschützt.
Andere Exportformat gehen auch nicht (html) - Blatt geschützt.
Also wäre es doch noch sinnvoll ein speichern unter.. zu ermöglichen jedoch nur das erste Tabellenblatt der Mappe ohne irgendwelche Makros und nur die Werte. Also keine Formeln.
Dann hätte ich die Möglichkeit die Tabelle zu editieren, jedoch ohne zu rechnen.
Ich kann sie dann ggf. auch noch umformatieren - ganz wie ich Lust und Laune habe.
Kann man dies impletieren?
Es bezieht sich auch nur auf das erste Tabellenblatt.
-Also Blatt 1 speichern unter.... (name)-
-----------------------
Es gibt noch ein kleines anderes Problem:
wenn ich die Mappe starte - nach dem die Makros den Start geprüft haben - ist da aktuelle
Fenster die Tabelle 4 - ich möchte aber, dass die erste Tabelle als erstes zu sehen ist.
Kann man da im Makro noch etwas umstellen?
Gruß
Joachim
AW: Nix ohne Makro... -Speichern-
HansH
Hallo Jo,
wenn Du die Datei auf dem Computer an dem Du sie erstellt hast ohne Makroaktivierung startest, sollte die Tabelle "Warnung" erscheinen. Wenn du nun im rechten Scrollbalken nach unten, bis zur letzten Zeile scrollst und in die untere linke Zelle klickst, ist dort die FP ID. Die kannst Du löschen und zwei zeilen darüber das Datum. (Vorher den Blattschutz entfernen und danach wieder setzen: "admin")Jetzt wieder nach oben scrollen, damit der Text wieder zu sehen ist. Wenn Du die Datei dann beim schließen speicherst ist sie für eine erneute Registrierung vorbereitet. Datei mit Explorer auf Datenträger und auf anderem Computer startetn. Dann ist sie aber dort registriert.
Die andere Variante, Tabelle1 oder werte daraus in einer neuen Datei zu speichern geht natürlich auch.
Gruß
Hans
AW: 2.Variante
HansHei
Hi Jo,
diese Datei enthält das Makro "Speichern_BeiKlick", das Du aufrufen kannst. Es speichert nur die Werte, keine Formeln etc. aus Tabelle1 von A1 bis Z10000 in eine neue Datei. Den Pfade und den Dateinamen kannst Du dir dann selber angeben.
https://www.herber.de/bbs/user/30308.xls
Gruß
Hans
AW: 2.Variante
Joachim
Hallo,
vielen Dank nun hab ich auch dieses erfolgreich eingebunden.
Verstehe ich es richtig:
Ich muss das Makro Speichern_bei Klick
über Extras - Makro - Ausführen in Gang setzen?
Oder kann ich es anders (einfacher) starten?
Am liebsten wäre mir, wenn ich das Makro über einen Button starte.
Der wäre am schönsten zu plazieren Zelle Q82 bis Q87 als eine verbundene Zelle (Die sich dann Q82 nennt) Zellenfarbe = gelb. Text innerhalb dieses Zellenverbundes = Speichern der Auswertung. Aus dem Grunde, da ich darüber eine gleiche Formatierung als Startbutton für eine andere Makrofunktion angelegt habe.
Ausserdem hätte gerne die Formate der Quelltabelle mit übernommen so, dass das gespeicherte Tabellenblatt genauso aussieht wie die Originaltabelle, nur eben ohne die Formeln - nur Werte (Nullwerte = leere Zelle)
Ich hoffe, dass dies auch noch machbar ist.
Viele liebe Grüße
Joachim
AW: trau dich ruhig
HansHei
Hallo Jo,
wenn Du meinen Code erfolgreich in deine Datei integriert hast, sollte diese bei Startaktivierung der Makros sofort wieder geschlossen werden. Wenn dem so ist, ist alles ok. Starte die Datei und lehne die Aktivierung von Makros ab. Dann kannst Du jederzeit wieder in den Visual Basic Editor.
Dort kannst Du deine "NUMBER_OF_PROCESSORS" eingeben und das nächste mal startet deine Datei auch mit "Makros aktivieren".
Meine Co-Kommentatoren haben ja schon den Hinweis auf die "Unschützbarkeit" einer Exceldatei und ihres Codes gegeben. Das ist nun mal nicht ohne professionellen Hintergrund möglich. Der Aufwand entsprechenden Schutzes steht in der Regel in keinem Verhältnis zum Nutzen. Aber im realen Leben wird selten jemand bewusst einen Schutz umgehen, wenn er denn als Schutz vor Fehlanwendungen gedacht und akzeptiert wird.
Trotzdem, - eine schöne Spielerei ;-)
Gruß
Hans
AW: trau dich ruhig
Joachim
Hallo Hans,
eigentlich bin ich von diesem Forum sehr begeistert, doch mit diesem Anliegen habe ich eine Diskussion über Gott weis was ausgelöst.
Dabei wollte ich nur Profihilfe bei der Verwirklichung MEINER Ideen, es wird aber über den Sinn und Zweck meiner Idee gefachsimpelt.
Meine Frage ist ganz einfach - kriegen wir meine Idee realisiert?
Du schreibst im Betreff: trau dich ruhig...
Ich trau mich - wie ist's mit dir? Hilfst du mir dabei?
Gruß
JO
AW: trau dich ruhig
HansHei
Hallo Jo,
ich bin kein Profi, aber ich weiss, dass dies bedingt machbar ist. Wenn man mal unberücksichtigt lässt wie sicher die ID-Abfrage ist, müsste der 2. Punkt deiner Anfrage zu lösen sein. Ich meine dies auch hier schon gesehen zu haben. Mein kleines Archiv bringt im Moment nicht viel her und.... der Morgen ist schon etwas fortgeschritten.
Ich lasse diesen Beitrag mal auf offen, falls jemand "die" Idee hat. Ansonsten schau ich ab heute Mittag wieder rein.
Folgende Datei zum Thema Start ohne Makro:
https://www.herber.de/bbs/user/30249.xls
Gruß
Hans
AW: trau dich ruhig
Matthias
Hallo Jo,
ich weiß jetzt bnicht mehr, wo in diesem Thread ich antworten soll. Hier passt es am besten...
Während du nämlich schliefst habe ich was getan für dich:
https://www.herber.de/bbs/user/30250.xls
Schau's dir mal an, über eine Rückmeldung würde ich mich sehr freuen.
Gruß Matthias
AW: na super
HansHei
Moin Matthias,
ich hoffe Du durftest ausschlafen. Ich denke das ist es.
Gruß
Hans
AW: na super
Joachim
Hi Matthias,
das ist ja mal wirklich super...
Vielen lieben Dank.
Du hattest recht - es war lange genug und ich bin einfach mal schlafen gegangen.
Wenn ich aber sehe wie lange du noch gemacht hast -und das auch noch für mein Anliegen- bekomme ich schon fast ein schlechtes Gewissen.
Also nochmals Dank.
Ich werde nun testen und ausprobieren und dann melde ich mich.
Der erste Blick sieht sehr vielversprechend aus.
Gruß
Joachim
AW: na super
Matthias
Hallo Joachim,
hier noch eine Version mit kleinen Verbesserungen und der Beseitigung des Fehlers, dass "Speicherun unter" nach der Meldung trotzdem funktionierte:
https://www.herber.de/bbs/user/30254.xls
Gruß Matthias
AW: na super
Joachim
Hi,
du bist ja schneller als der Schall....
Genau diesen Fehler habe ich auch schon bemerkt und wollte gerade davon berichten.
(Vielleicht auch schon behoben - aber trotzdem)
Ich verstehe es doch richtig:
Wenn ich eine Version LIZENZFÄHIG machen will, dann muss ich mit
STRG 12 das Form. aufrufen und die Einträge löschen und dann das
späteste Registrierdatum eintragen?
Wenn dies mache - geschieht nicht wirklich was, denn das Datum:
wenn es ein früheres ist - wird geändert auf das heutige.
wenn es ein späteres ist auch.
Aber vielleicht bin ich auch hier schon zu spät.
Werde die neue Version erst mal testen.
Gruß
Jo
AW: na super
Matthias
Hallo Jo,
hier der (unveränderte) zuständige Code:

'Lizenz prüfen:
ok = False
If SerienNr_Blatt = "" Then
'noch nicht lizensiert:
If Datum_Blatt = "" Then Set_Datum_Blatt Date
If Date > CDate(Datum_Blatt) Then
'zu spät!
Meldung = "Die Lizensierungsmöglichkeit ist am " & Datum_Blatt & " abgelaufen!"
Else
'Programm lizensieren
Set_SerienNr_Blatt SerienNummer
Set_Datum_Blatt FormatDateTime(Date, vbShortDate)
Application.EnableEvents = False
ThisWorkbook.Save
Application.EnableEvents = True
ok = True
Meldung = "Das Programm wurde soeben für Ihren Rechen lizensiert." & vbLf & _
"Viel Spaß!"
End If
Else
'schon lizensiert:
If SerienNr_Blatt <> SerienNummer Then
'falsche Festplatten-ID
Meldung = "Das Programm für auf einem anderen PC lizensiert." & vbLf & _
"Vielleicht haben Sie auch die Festplatte gewechselt." & vbLf & vbLf & _
"Bitte wenden Sie sich an ....."
Else
ok = True
End If
End If

Wenn das Datum leer ist, wid das heutige Datum eingetragen, aber nur, wenn das Programm noch nicht lizensiert ist. (Vor allem, um einen Laufzeitfehler in der folgenden Zeile zu verhinden: CDate(Leerstring) erzeugt einen Fehler ;-)
Das ist so eine Art unbegrenzte Lizensiermöglichkeit.
Beim Lizensieren (Eintragen der Seriennummer auf dem Blatt) wird dann das heutige Datum gesetzt.
Wenn die Tabelle aber nicht lizensiert ist und das Datum verfallen, sollte ein Hinweis kommen (abgelaufen) und die Mappe sollte sich schließen (tut sie bei mir auch).
Gruß Matthias
AW: na super
HansHei
Hallo Matthias,
ich habe mir deine Datei mal etwas näher angesehen. Das hätte ich mit meinem Wissen so nicht aus dem Ärmel schütteln können. Bevor Jo wieder zurück ist (arbeitet er an einer Tankstelle? wg. SONNTAG), mal eine/zwei Nachfragen zu den Datumseigenschaften.
Die Meldung "zu spät" erfolgt, wenn ich das Datum in die Vergangenheit ändere.Der Effekt: wenn ich das Datum von heute eingebe, kann die Datei morgen nicht mehr registriert werden.
Wenn ich das Datum in die Zukunft setze, weil die "Lizens" nur 1 Jahr gelten soll, wird das eingegebene Datum durch das aktuelle Datum ersetzt. Das heißt das eine Lizensierung nur auf Dauer erteilt werden kann?
Die zweite Frage ist eigentlich keine. Wenn ich im lizensierten Tabellenblatt etwas ändere und anschließend über das Schliesskreuz oder Datei Beenden gehe, kann ich zwar speichern, aber die Abfrage wird nicht beendet. Kannst Du dir dies mal anschauen?
Mach weiter so und lass dich von Nörglern nicht irritieren.
Gruß, auch an Jo
Hans
AW: na super
Matthias
Hallo Hans,
arbeitet er an einer Tankstelle? wg. SONNTAG
Ich bin z.B. Krankenpfleger und muss nächsten Sonntag auch arbeiten. Da gibt es viele Jobs.
.. Er sagt aber nur er muss weg, also nich ungedingt zur Arbeit.


Wenn ich das Datum in die Zukunft setze, weil die "Lizens" nur 1 Jahr gelten soll, wird das eingegebene Datum durch das aktuelle Datum ersetzt. Das heißt das eine Lizensierung nur auf Dauer erteilt werden kann?
Ja, was anderes hat Jo auch nicht verlangt. Das Datum, das man reinschreiben muss, ist das letztmögliche Registrierdatum, danach kann es nicht mehr registriert werden. Die Dauer ist aber unbegrenzt.


Wenn ich im lizensierten Tabellenblatt etwas ändere und anschließend über das Schliesskreuz oder Datei Beenden gehe, kann ich zwar speichern, aber die Abfrage wird nicht beendet.
Stimmt, du bist ein guter Beta-Tester (oder besser Alpha)!
Hier die neue Variante:
https://www.herber.de/bbs/user/30263.xls


Mach weiter so und lass dich von Nörglern nicht irritieren.
Hab ich auch nicht vor. ;-)
Gruß Matthias
AW: na super
Joachim
Hallo,
da bin ich wieder...
War sogar an der Tankstelle - aber nur zum tanken :-)
Ich arbeite tatsächlich auch mitunter Sonntags - soll's geben...
Ich versuche mir meine Zukunft zu sichern und das auf einem Weg der sehr viel Spass macht.
(Wen's interessiert der kann sich gerne mit mir in Verbindung setzen. Es ist was nebenbei und kann sogar das Rentenproblem lösen. Ich will hier aber keine Werbung machen. Es ist ein Forum Gleichgesinnter und kein Kommerzpool. Also wenn dann nehmt diesbezgl. per Email Kontakt auf.)
-------------------------
Also lieber Matthias und lieber Hans,
es ist schon richtig, ich will keine Lizenzbegrenzung sondern nur vermeiden, dass die Tabelle die Runde macht ohne zu wissen wer sie nutzt. Denn das Ergebnis ist schlicht und einfach GENIAL und ich könnte mir vorstellen, dass es einige gibt dieses Nutzen zu wollen. Darum die begrenzte Registrierfähigkeit. Die Arbeit ist sicherlich mit kleinen Änderungen für Testphasen und/Sharewarekonzepte geeignet. Wie man sieht es gibt Potenzial darin.
Das Problem mit dem Schließkreuz werde ich auch noch testen. Danke Alpha-/Betatester ;-).
-------------------
Aufgrund der wirklich guten und interessanten Arbeit werde ich nach Möglichkeiten Ausschau halten, dass du dieses vielleicht kommerziell nutzen kannst. Ich denke da an so den einen oder anderen Dienstleister -Versicherungsverteter, Handelsvertreter, ect. der Vergleichsrechnungen mit Excel aufgebaut hat, und diese, für Ihn wertvollen Tabellen nicht so einfach weitergeben möchte.
----------------------
Der Mann -nicht von der Tankstelle ;-)
bis nachher
Jo
AW: na super
Matthias
Hallo Jo,
Aufgrund der wirklich guten und interessanten Arbeit werde ich nach Möglichkeiten Ausschau halten, dass du dieses vielleicht kommerziell nutzen kannst.
Ich weiß ja nicht mal, wie ich - nebenberuflich - ein Gewerbe anmelde.
Manchmal denke ich schon, ich hab' den falschen Job, aber es ist nicht so leicht, anderweitig Fuß zufassen.
Gruß Matthias
AW: na super
Joachim
Hallo Matthias,
ich sage dazu nur melde dich per Email....
Gruß
Jo
AW: na super
Matthias
Hallo Jo,
welche e-mail?
ich sehe keine Adresse.
Gruß Matthias
AW: na super
Joachim
Hallo,
nimm mal:
herbegab@web.de
Jo
AW: na super
Joachim
Hi,
habs mir gedacht -
auch dieser fehler war schon weg.
Bis bald
Jo
AW: na super
Joachim
Hi Matthias,
muss jetzt leider nochmal weg.
Bin gegen 20 Uhr wieder da und werde weitertesten.
Sieht verdammt gut aus !!!!
Gruß
Jo
nicht offen - o.T.
Matthias
-
AW: na super "Aprilsscherz" Jo
Gert
Hi Jo,
hast ja einen schönen Aprilsscherz veranstaltet um ohne viel Aufwand durch
Softwareklau ein Addin zu erhalten, das Du für gute Knete anderen
andrehen kannst.
Denn wenn schon "Hans Herber" seine CD's mit professionellen Inhalt für alle
Firmen-Computer freigibt, sollten sich andere überlegen, ob solch ein Blödsinn
überhaupt noch "up to date" ist.
Übrigens kann davon ausgegangen werden, das es viele PC-User gibt, die auch
zu Hause für den Arbeitgeber tätig sind.
Überleg es Dir noch einmal, ob sich überhaupt der Aufwand lohnt.
Es wäre zusätzlich die Frage zu stellen, wie Du die "Freiwilligen Helfer" des
Forums später entlohnen willst ?
Gert
AW: na super "Aprilsscherz" Jo
Matthias
Hallo Gert,
hast ja einen schönen Aprilsscherz veranstaltet um ohne viel Aufwand durch
Softwareklau ein Addin zu erhalten, das Du für gute Knete anderen
andrehen kannst.

Das sehe ich jetzt mal als Kompliment für den Code ;-)
Nach einigen Rückfragen bin ich zur Überzeugung gekommen, dass das Projekt von Jo nichtkommerzieller Natur ist (er er will kein Geld damit verdienen), auch wenn er es beruflich einsetzen will.
Falls du zweifelst, dann nenn' mich ruhig vertrauensselig.


...sollten sich andere überlegen, ob solch ein Blödsinn
überhaupt noch "up to date" ist.

Mich hat dann schließlich nur die Programmierung gereizt, über denn Sinn habe ich mich vorher schon geäußert.


Es wäre zusätzlich die Frage zu stellen, wie Du die "Freiwilligen Helfer" des
Forums später entlohnen willst ?

Niemand, der hier im Forum tätig ist, will eine Entlohnung für seine Hilfe. Falls doch, hast er den Sinn der Forums falsch verstanden.
Gruß Matthias
AW: na super "Aprilsscherz" Jo
HnasHei
Hallo Gert,
mal von von der gesellschaftlich-moralischen Seite:
"hast ja einen schönen Aprilsscherz veranstaltet um ohne viel Aufwand durch
Softwareklau ein Addin zu erhalten, das Du für gute Knete anderen
andrehen kannst."

Du must nicht von Dir auf Andere schließen.
"Übrigens kann davon ausgegangen werden, das es viele PC-User gibt, die auch
zu Hause für den Arbeitgeber tätig sind."

Das ist eine der schlimmsten Varianten der Ausbeutung von ArbeitinehmerInnen
und wird hiermit weitestgehend unterbunden.
"Überleg es Dir noch einmal, ob sich überhaupt der Aufwand lohnt."
Da ist sie wieder, der kapitalistische Raffgier.
"Es wäre zusätzlich die Frage zu stellen, wie Du die "Freiwilligen Helfer" des
Forums später entlohnen willst ?"

Siehe 1 höher.
Gruß
Hans
AW: na super "Aprilsscherz" Jo
Joachim
Hallo hans,
wenn du magst kannst du mit mir auch Kontakt aufnehmen.
herbegab@web.de
Gruß
Jo
AW: na super "Aprilsscherz" Jo
Joachim
Hallo,
also ich dachte immer - und das ist schließlich auch meine grundsätzliche Erfahrung-, dass ein Forum und es gilt im besonderen für dieses, eine Bühne für Leute ist, denen es Spass macht Herausforderungen GEMEINSAM zu lösen.
Hier handelt es sich um das Prog. Excel und die Vielfalt der Möglichkeiten die man damit hat.
Ich denke niemand kann alles wissen. Wir haben wohl, in der Regel alle, ein von seinen Funktionen mächtiges Programm gekauft und möchten auch gerne alle Möglchkeiten die man damit hat kennenlernen. Ich bin absolut sicher, dass niemand alle Möglichkeiten dieses Programmes kennt und nutzt gerne die Möglichkeiten einige davon hier kennenzulernen.
Ich glaube es gibt wohl überall jemand der sich immer und überall ausgenutzt fühlt. Er nimmt sein Know How lieber mit ins Grab als anderen sein Wissen zu vermitteln. Leider wissen diese Menschen nicht, dass es sehr viel Freude machen kann, sein Wissen weiterzugeben. Es muss nicht immer ein kommerzieller Grund vorliegen. Ganz nach der Devise ich gebe nichts - nehme aber alles - und wenn jemand etwas von mir will, dann soll er gefälligst dafür bezahlen. So schafft man sich wohl keine Freunde. Erst recht kein freudvolles Leben. Sei's Drum - auch solche Menschen muss es wohl geben. Ich glaube jeder verhält sich gegenüber anderen genauso wie er eigentlich in seinem Innersten selbst strukturiert ist.
Ich kann nur versichern, dass ICH keinerlei kommerzielle Interessen mit meiner Aufgabe hege. Ganz im Gegenteil - ich möchte nur, dass niemand ungefragt das Wissen und die Arbeit anderer einfach -klaut- und dann wirklich damit Geschäfte macht.
Ich weiss sehr genau wovon ich spreche, denn ich bin im kreativen Dienstleitungsbereich tätig (Architektur und alles was damit zusammenhängt.) Wenn ich für jede -oft sehr kostenintensive und mit sehr viel Herzblut- gemachte Planung eines Hauses oder ähnlich leistungsgerecht entlohnt worden wäre, ginge es mir bestimmt sehr gut. Es macht sicherlich nicht immer Freude zu sehen, wie meine Arbeit, schlicht und einfach gestohlen wird, und andere die Häuser bauen, die eigentlich meine Ideen waren. Nur ich werde einen Teufel tun mich darüber aufzuregen, nehme es schlicht und einfach als Kompliment, wenn meine Ideen verwirklicht werden - sie müssen ja gut gewesen sein, dass man es kopiert und anderes wohl nicht so gut war. Ich sage mir dabei: Jede Kopie ist auch ein großes Kompliment an mich.
Da ich SEHR viele Menschen kenne und es auch gerne habe viele Menschen zu meinem Bekanntenkreis zählen zu können, kommt es fast tägl. vor, dass ich um Rat gefragt werde. Ich gebe gerne meine Empfehlungen weiter und es sind schon so manche Freunde allein daraus entstanden. So hat mir einmal -auch aus einem Forum- jemand bei einer Illustration -selbstlos- geholfen. Nachdem mich jemand -auf Grund des entstandenen Ergebnisses um Rat befragte, gab ich ihm meinen Kontakt und der, der mir damals geholfen hat -darüber sind wir auch persönlich bekannt geworden und freundschaftlich verbunden- hat einen riesengroßen Auftrag bekommen. (Er machte für einen sehr großen und nahmhaften deutschen Autokonzern eine spezielle Illustration für das Ausland und konnte über ein Jahr davon gut leben.) Soll zeigen, dass die Begeisterung an dem was man macht und auch anderen zuteil werden lässt sich auf der einen Seite multipliziert und auf der anderen Seite eine große Bestätigung für sein Tun sein kann. Mal ganz abgesehen vom finanziellen Aspekt.)
Ich bin schon sehr erstaunt, wie eifersüchtig manche reagieren, wenn eine Sache funktioniert und anderen sogar Spass macht.
Was soll's, ich werde jedenfalls weiterhin gerne mein Wissen und Können an andere weitergeben, mit der Gewissheit immer Ansprechpartner und Freunde damit zu gewinnen. Ich freue mich über jeden der ähnlich reagiert, denn das sind positiv eingestellte Menschen, welche ein Labsal für die eigene Kreativität sind und das Leben lebenswert machen.
--------------------------
Es ist schon verwunderlich, dass so eine einfache Sache wie ein Excelproblem solche Dimensionen erreicht und die sonderlichsten Betrachtungen bei einigen Menschen in Gang setzt.
Irgendwie war mir danach dies loszuwerden.
Grüße und vor allem Dank an alle die ähnlich denken wie ich und soviel andere hier in diesem Forum -das ich nebenbei bemerkt für eines der besten halte-
Joachim
AW: na super "Aprilsscherz" Jo
K.Rola
Hallo,
bin nur zufällig an deinen Beitrag geraten, ohne den ganzen Thread gelesen zu haben.
Deine Lebensphilosophie ist schon bemerkenswert, seh das ähnlich.
Gruß K.Rola
AW: na super "Kontakt"
Joachim
Hallo Matthias - Hallo Hans,
wenn ihr mögt könnt ihr mit mir direkt Kontakt aufnehmen.
herbegab@web.de
Gruß
Jo
AW: na super "Kontakt"
Matthias
Hallo Jo,
bitte keine Versicherung!
Gruß Matthias
AW: na super "Kontakt"
Joachim
Hi, Matthias
auf keinen Fall - so'n Blödsinn kann man nicht gebrauchen - wie gesagt melde dich per Mail.
Gruß
Jo
AW: ellenlanger Thread..
HansHei
Hallo zusammen,
kann man/frau das mal hier fortsetzen, so es noch eine Fortsetzung gibt? Ich kann bei mir gaaaaaanz rechts kaum noch was sehen.
Jo, deine letzte Anmerkung wegen Tabelle4 kann ich irgendwie nicht nachvollziehen. Die Tabelle4 heißt "Warnung" und die erscheint beim mir nur wenn ich die Makros beim Start nicht aktiviere. Das soll und muss ja wohl so sein. Nicht nur aus technischen Gründen. Tabelle4 enthält dann notgedrungen die Meldung, dass kein Makro gestartet wurde. Oder liege ich da falsch? Vielleicht hat Matthias bald Schichtende und schaut noch rein. Er ist der Profi.
Gruß
Hans
OK - hier gehts weiter.....
Joachim
Hi,
ich meine das Tabellenblatt 1 NACHDEM dem Makros gestartet sind und nicht mit deaktivierten Makros.
Das Blatt "Warnung" - Tabelle 4 in deinem Beispiel -bei mir ist das Blatt Warnung die Tabelle 6- kommt nur wenn ich die Tabelle mit deaktivierten Makros starte. Das meine ich aber nicht.
Wen ich die Tabelle MIT Makro starte, dann sehe ich als erstes das Tabellenblatt 4 und nicht wie richtig das Tabellenblatt 1.
Wenn ich deine Beispieltabelle nehme, dann sehe ich als erstes das Tabellenblatt 1 -also richtig-
Ich habe den Code aus deinem Beispiel kopiert und in meine Tabelle exact so eingefügt (Modul 2) ausser den Anpassungen bezügl der Beschriftung habe ich an dem Code nichts verändert. Woran kann dies liegen?
Gruß
Joachim
AW: OK - hier gehts weiter.....
HansHei
Hallo Jo,
lass das mit den verbundenen Zellen. Wird dir im Forum sicher jeder bestätigen. Das gibt nur Ärger. So wie jetzt auch. Bei Klich auf Zelle Q82 wird das Makro ausgeführt, mit verbundenen Zellen klappt das nicht. Suche dafür eine andere Lösung wie z.B. Textfelder.
Den Code findest Du über VB-Editor im Tabellenblatt1, weil dieses ja kopiert werden soll. In der Tabellenansicht ist die Zelle Q82 nur zur Kenntlichmachung markiert. Dies geht jetzt alles etwas über meinen Level hinaus, der Profi würde über den gestückelten Code zumindest schmunzeln. Achte darauf, dass das zu kopierende Blatt Tabelle1 heißt. Wenn es anders heißt, musst Du im Code statt Tabelle1 den anderen Namen verwenden.
Zu Tabellenblatt1 beim Start: Ich vermute Du hast schon zusätzliche Tabellenblätter eingefügt bzw. auch gelöscht, sonst dürftest Du wie ich nur 3 Tabellenblätter haben (Ursprungsdatei). Du kannst selbst entscheiden, welches Tabellenblatt als erstes öffnet, indem Du Das Gewünschte Blatt ganz nach links in die erste Position ziehst.
https://www.herber.de/bbs/user/30352.xls
Gruß
Hans
AW: oder so?
Joachim
Hi,
danke, die Lösung ist wohl die bessere.
Habe aber noch eine Problem damit:
Zellinhalt in die exportierte Tabelle = OK
Formatierung in die exportierte Tabelle = OK
Spaltenbreite in die exportierte Tabelle = OK
Jedoch Zeilenhöhe ist nicht OK
Wie lautete der Befehl dafür - Kann nichts darüber finden.
Langsam komme ich in die Logik von VBA ----- (gaaaanz langsam) :-))
Gruß
Jo
AW: oder so?
HansHei
Hallo Jo,
in Ostfriesland ist Glatteis"katastrophe", komm nicht zur Arbeit. Also hab ich mir Zeit genommen noch mal nachzusehen. An dieser Stelle kommen wir so nicht weiter. Ich habe Dir mal eine andere Variante eingebaut. Du brauchst jetzt wieder ein Modul2. Das baust Du dir so auf wie in der Beispieldatei. Dem bei Dir eingebauten Button musst Du zum Schluss das neue Makro zuweisen (Rechtsklick darauf und "Makro zuweisen..."). Wenns funkt dann schmeiß den Code aus Tabelle1 wieder raus.
Die erzeugte Datei ist nun auch wesentlich kleiner.
https://www.herber.de/bbs/user/30365.xls
Gruß
Hans
AW: oder so?
Joachim
Hi,
was für ein Glück für mich, dass du Glatteis hast.... ;-)
Vielen Dank für Deine Arbeit.
Funktioniert - prinzipiell.. aber...
Makros werden auch kopiert. Dadurch habe ich nun eine sozusagen unvollständige Mappe, da natürlich die Fehlermeldungen kommen. Ich habe in dem Tabellenblatt, welches ich gespeichert haben möchte auch noch einen anderen Code eingebunden. (Dieser bewirkt, dass jede angeklickte Zelle eine Hintergrundfarbe bekommt und dadurch die Position des Cursors immer leicht zu finden ist. Ausserdem ist auch noch eine andere Funktion in diesem Blatt, welche Zeilen in denen keine Einträge gemacht werden ausgeblendet werden können. Dies ist auch ein Makro, welches im Blatt eingebunden ist und nicht ein Modul.)
Es wird auch das gesamte Blatt kopiert. Hier wäre es besser - wie bei der alten Version deines Makros, dass ich den zu speichernden Bereich definieren kann - A1 bis O100.
Gibt es nicht eine Funktion die die Zeilenhöhe überträgt, genauso wie die Spaltenbreite?
Denn das alte Makro funktioniert absolut richtig mit Ausnahme der Zeilenhöhen.
Gruß
Jo
AW: oder so?
HansHei
Hallo Jo,
jetzt wirds für mich etwas unübersichtlich. Wie wichtig sind deine Codes in Tabelle1, lassen sie sich ggf. aus der Arbeitsmappe oder einem Modul steuern oder ohne lösen? Leider kann ich das Problem nicht nachbauen um selbst zu testen. Der Ausbau des alten Codes macht meiner Meinung nach keinen Sinn. Die Größe der Kopiedatei liegt jetzt schon bei fast 1MB und die Zellenhöhe geht meines Wissens allenfalls auf optimale Höhe zu stellen. Das würde die Ansicht mit Sicherheit wieder durcheinanderbringen.
Ich komme ohne Beispieldatei mit Code und relevanten Tabellenblättern (ohne schützenswerte Daten) nicht weiter.
Gruß
Hans
AW: oder so?
Joachim
Hallo Hans,
ich habe dir die Tabelle beigefügt.
https://www.herber.de/bbs/user/30385.xls
Beim Starten "lizensiert" sie sich.
Ich habe die Nachricht: Das Programm wurde für Ihren Rechner lizensiert ausgeschaltet.
Ich denke mir warum soll die Info gemacht werden.
Wen es Sinn macht kann man ja den Button ...LEERE Zeilen... abändert und als Modul einbauen. (Kann man die Buttons -so wie von deinem Makro auch anders färben? Ich habe nichts darüber gefunden. Gelb mit roter Schrift wäre mir lieb)
Die Auswertung die gespeichert werden kann/soll, soll optisch genauso aussehen wie die Tabelle ANALYSE. Mit allen Formtierungen der Zeilen - Spalten ect.
Es sollen nur die Werte gespeichert werden.
Dann kann man mit der "gespeicherten" Tabelle nach Herzenslust arbeiten nur eben nicht rechnen.
Das Passwort für die Seite Makro-Hinweis ist admin
Alle anderen Passwörter sind entweder "Blank" oder bei der Tabelle ANALYSE = abc
Wenn ich mit allen Punkten fertig bin kann ich ja dann das VBA - Projekt noch mit einem Pw-Versehen und dann ist es wohl ausreichend mit der "Sicherheit". Natürlich nicht für Leute wie du es bist.
Nochmals vielen Dank für deine Hilfe.
Bis Bald
Joachim
AW: oder so?
Joachim
Hi,
ich habe da noch eine kleine Ungereimtheit.
Wenn ich das Blatt schütze stelle ich die Eigenschaften auf:
ungesperrte Zellen auswählen.
Wenn dann der Blattschutz über das Makro aufgehoben und wieder geschlossen wird -
nach einer Codesequenz ist die Eigenschaft anders.
Nun ist neben der Option - ungesperrte Zellen auswählen auch die Option
Gesperrte Zellen auswählen aktiv.
Kann man dies innerhalb des Makros unterbinden/einstellen?
Gruß
Joachim

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige