Hilfe mit VBA
#1
Hallo Leute,

Ich hab noch ein weiteres Problem. Dabei handelt es sich um die Programierung in VBA. Ich bin da leider nicht so bewandert...

Hier sind meine Probleme:

1. Aufgrund der Größe habe ich Excel auf Manuelle Berechnung umgestellt und muss jetzt immer F9 Drücken um dies zu aktualisieren. Da aber auch dritte dieses Tool nutzen fände ich es geschickter wenn ich dafür einen Button auf einer Excelseite hätte mit dem ich genau das bewerkstellige.

2. Ich habe mehrere Tagesprofile (24h). Der Anwender soll eines davon auswählen können. Er soll auf einen Knopf drücken, dann öffnet sich ein Fenster und er kann zwischen 3 Tagesprofilen wählen. Ist eins ausgewählt, so soll in einer anderen Tabelle genau dieses Tagesprofil eingelesen werden.

Bsp:
Tagesprofil 1            Tagesprofil 2           Tagesprofil 3
Tabelle A                   Tabelle B                  Tabelle C

Anwender wählt Tagesprofil 2

In einer Tabelle erscheint Tabelle B

So ich hoffe ihr könnt mich auch hier unterstützen.
Euch noch eine schöne Woche.
Gruß Concker
Top
#2
Hallo Concker,

ich denke am einfachsten ist es, wenn Du (D)eine (Beispiel)Datei zur Verfügung stellst.
Wie das geht steht hier.

Du siehst ja anhand der Antworten, dass wir uns alle mehr oder weniger schwer tun.

Gruß
Max
Top
#3
(23.02.2015, 16:25)Max schrieb: Hallo Concker,

...

Du siehst ja anhand der Antworten, dass wir uns alle mehr oder weniger schwer tun.

Gruß
Max

Hi Max, ich tu mich damit nicht schwer, ich vermute diese "neue" Frage hier in diesem thread mit dem selben Betreff einfach nicht...
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#4
So ich habe mal schnell eine Test-Datei angehängt, weil die wo ich momentan habe ist 160 MB groß und passt glaub ich nicht so gut hier rein ;)

Ich wiederhole nochmal die Fragen:

1) "Button 2"
-Excel läuft auf manuelle Berechnung
-wenn ich was neu eingetragen habe muss ich "F9" drücken um Excel zu aktualisieren
-In Zukunft will ich nicht auf "F9" drücken, sondern auf einen "Button" der in Excel hinterlegt ist und genau dasselbe tut wie "F9"

2) "Button 1"
- Ich habe mehrere Tabellen zur Auswahl (A und B)
- Anwender drück auf einen "Button"
- Es öffnet sich ein Fenster
- In dem Fenster kann ich Auswählen: "Tabelle A" oder "Tabelle B" (Fenster geht jetzt wieder zu)
- Nach Auswahl wird die Ausgewählte Tabelle in eine andere Tabelle automatisch eingelesen
- Die automatisch eingelesene Tabelle wird für die weitere Bearbeitung benötigt (Sverweise und CO)

So jetzt sollte es besser sein :)
Gruß
__________________


Ich mach ein neues Thema auf 


Angehängte Dateien
.xlsx   TEST-VBA.xlsx (Größe: 11,54 KB / Downloads: 8)
Top
#5
Hi,

Zitat:Concker:
Ich mach ein neues Thema auf 

Nee, mach das bitte nicht, weil eventuell hier und im neuen Thema geantwortet wird. Ich trenne die Frage von diesem Thread ab ...
Überlegen macht überlegen
Gruss aus dem schönen Hunsrück
_______ Klaus-Martin _______
Top
#6
Hallo Concker,

schau mal ob das Deinen Anforderungen genügt.


.xlsm   Concker_TEST-VBA_Max.xlsm (Größe: 23,21 KB / Downloads: 6)

Gruß
Max
Top
#7
Hallo,

1. wenn eine Datei 160MB einnimmt, dann würde ich mir Gedanken machen, ob da nicht etwas zuviel an Gerümpel drin ist.
2. Wenn Du die Berechnung auf manuell stellen mußt, damit sie bearbeitbar ist, dann stimmt mit den Formeln was nicht.
3. Die Auswahl des Profils kann man mit einer einfachen Formel bewerkstelligen.

Arbeitsblatt mit dem Namen 'Tabelle1'
 DEFGHI
38Nutzungsprofil 2     
39      
40 Anwesenheit von Personen im Raum    
41 Wohnzimmer  Schlafzimmer 
42UhrzeitWerktagWochenende WerktagWochenende
43100 44
44200 44
45300 44
46400 44

ZelleFormatWert
D38"Nutzungsprofil "02

ZelleFormel
E43=SVERWEIS($D43;$D$8:$P$31;SPALTE(B$1)+($D$38-1)*7;0)

ZelleGültigkeitstypOperatorWert1Wert2
D38Liste 1;2 
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#8
Hi,

(23.02.2015, 16:52)Concker schrieb: 1) "Button 2"

-Excel läuft auf manuelle Berechnung
-wenn ich was neu eingetragen habe muss ich "F9" drücken um Excel zu aktualisieren
-In Zukunft will ich nicht auf "F9" drücken, sondern auf einen "Button" der in Excel hinterlegt ist und genau dasselbe tut wie "F9"

ich habe die Makroaufzeichnung gestartet und dann die Taste F9 gedrückt, dann die Aufzeichnung beendet. Es kam folgendes Makro raus:
Code:
Option Explicit

Sub Berechnung_starten()
'
' Berechnung_starten Makro
'

'
    Calculate
End Sub

Dieses Makro dem Button zugewiesen und fertig.
Top
#9
Hallo,

Ok das mit Calculate habe ich hinbekommen :)


Zitat:1. wenn eine Datei 160MB einnimmt, dann würde ich mir Gedanken machen, ob da nicht etwas zuviel an Gerümpel drin ist.

2. Wenn Du die Berechnung auf manuell stellen mußt, damit sie bearbeitbar ist, dann stimmt mit den Formeln was nicht.

Zu 1: Ich habe in 5 Blättern 8760 Zeilen*250 Spalten. Diese machen den Löwenanteil aus. Ich glaube jedes dieser Blätter hat an die 30 MB. Für mich ist es das erste mal das ich etwas in dieser Größenordnung erstellt habe. Weiß nicht ob du da andere Erfahrungen gemacht hast. Aber ich habe die gängigen Tipps zur Reduzierung der Dateigröße schon angewendet. Falls du da noch Tipps hast wie ich das Optimieren kann, dann nur her damit ;) 

Zu 2: Die oben genannten Blätter beziehen sich auf 14 * 24-h-Tagesprofile. Wenn ich in einer dieser Zellen einen Wert ändere, dann dauert das 2-3 Sekunden bis ich wieder einen anderen Wert eintragen kann. Deswegen habe ich das auf manuell umgestellt und es geht tatsächlich wesentlich schneller. 

Zu 3: Ich verstehe deinen Sverweis bis "Sverweis($D43; $D$8:$P$31;" den Rest kann ich nicht nachvollziehen...
"Spalte(B$1)+(§D§38-1)*7; 0)" 

Kannst du mir das vielleicht näher erklären? Ich habe zudem festgestellt, dass meine Beschreibung des dazugehörigen Buttons nicht ganz vollständig ist. habe das jetzt ergänzt.

Button 1)
Zitat:- Ich habe mehrere Tabellen zur Auswahl (A und B)


- Anwender drück auf einen "Button"
- Es öffnet sich ein Fenster
- In dem Fenster kann ich Auswählen: "Tabelle A" oder "Tabelle B" (Fenster geht jetzt wieder zu)
- Nach Auswahl wird die Ausgewählte Tabelle in eine andere Tabelle automatisch eingelesen
- Die automatisch eingelesene Tabelle wird für die weitere Bearbeitung benötigt (Sverweise und CO)

- Der Anwender soll die 24 h Profile auch manuell eingeben können. Also er kann entweder alles manuell eingeben, oder er wählt eines der Nutzungsprofile aus. Wenn ein Sverweis in den Zellen stehen würde und der Anwender gibt das manuell ein, würde ich dann nicht den Sverweis mit der manuellen Eingabe überschreiben?


Vielen Dank schonmal für die vielen Antworten :)
Gruß Tobi
Top
#10
Hi,

(24.02.2015, 11:43)Concker schrieb: Zu 1: Ich habe in 5 Blättern 8760 Zeilen*250 Spalten. Diese machen den Löwenanteil aus. Ich glaube jedes dieser Blätter hat an die 30 MB. Für mich ist es das erste mal das ich etwas in dieser Größenordnung erstellt habe. Weiß nicht ob du da andere Erfahrungen gemacht hast. Aber ich habe die gängigen Tipps zur Reduzierung der Dateigröße schon angewendet. Falls du da noch Tipps hast wie ich das Optimieren kann, dann nur her damit ;) 

und diese 2,19 Millionen Zellen pro Blatt sind alle gefüllt mit Formeln oder Daten oder Formatierung? Oder sind es vorbereitete Tabellen, die irgendwann alle Daten enthalten?
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste