Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
816to820
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
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro mit Abfrage-Werten füllen und speichern

Makro mit Abfrage-Werten füllen und speichern
06.11.2006 13:19:23
Michael
Liebe hilfreiche Geister!
Folgendes Problem: Wir haben ein Wochenreporting-File, in welches wir täglich die vernichteten Waren mit Bruttoverkaufspreis eintragen müssen. Die Preise sind jeden Tag gleich, allerdings von Betrieb zu Betrieb unterschiedlich. Da aus irgendwelchen Gründen diese Daten nicht übernommen werden können, müssen sie täglich aufs Neue manuell eingetragen werden. Um das zu umgehen, habe ich mir folgendes Makro gebastelt:
Sheets("MONTAG").Select
Range("D9").Select
ActiveCell.FormulaR1C1 = "0.6"
Range("D10").Select
ActiveCell.FormulaR1C1 = "2.3"
Range("D11").Select
ActiveCell.FormulaR1C1 = "3.4"
Range("D12").Select
ActiveCell.FormulaR1C1 = "2.8"
Range("D13").Select
ActiveCell.FormulaR1C1 = "0.7"
Range("D14").Select
ActiveCell.FormulaR1C1 = "0.6"
Range("D66").Select
ActiveCell.FormulaR1C1 = "1.3"
Range("D67").Select
ActiveCell.FormulaR1C1 = "1"
Range("D68").Select
ActiveCell.FormulaR1C1 = "1.1"
Range("D69").Select
ActiveCell.FormulaR1C1 = "0.85"
Sheets("DIENSTAG").Select
Range("D9").Select
ActiveCell.FormulaR1C1 = "=MONTAG!RC"
Range("D9").Select
Selection.AutoFill Destination:=Range("D9:D14"), Type:=xlFillDefault
Range("D9:D14").Select
Range("D9").Select
Selection.Copy
Range("D66").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("D66:D69"), Type:=xlFillDefault
Sheets("MITTWOCH").Select
Range("D9").Select
ActiveCell.FormulaR1C1 = "=MONTAG!RC"
Range("D9").Select
Selection.AutoFill Destination:=Range("D9:D14"), Type:=xlFillDefault
Range("D9:D14").Select
Range("D9").Select
Selection.Copy
Range("D66").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("D66:D69"), Type:=xlFillDefault
Sheets("Donnerstag").Select
Range("D9").Select
ActiveCell.FormulaR1C1 = "=MONTAG!RC"
Range("D9").Select
Selection.AutoFill Destination:=Range("D9:D14"), Type:=xlFillDefault
Range("D9:D14").Select
Range("D9").Select
Selection.Copy
Range("D66").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("D66:D69"), Type:=xlFillDefault
Sheets("FREITAG").Select
Range("D9").Select
ActiveCell.FormulaR1C1 = "=MONTAG!RC"
Range("D9").Select
Selection.AutoFill Destination:=Range("D9:D14"), Type:=xlFillDefault
Range("D9:D14").Select
Range("D9").Select
Selection.Copy
Range("D66").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("D66:D69"), Type:=xlFillDefault
Bei mir sind die Preise 0,60 € bis 0,85 € in den entsprechenden Zeilen. Ich will nun Folgendes(BR, Cafe und ZV stehen für unsere Kostenstellen):
ein Programm/Makro, welches an alle Betriebe geht und bei Start(evtl. als .exe) eine Abfrage startet, in etwa:
Feld1 = InputBox("Geben Sie den Preis für die erste Zeile BR ein:" & vbCr & vbCr & vbCr & vbCr & "***Beispiel: 0,7 ***")
if feld1 = "" goto Cafe
Feld2 = ("Geben Sie den Preis für die zweite Zeile BR.....usw.
Cafe:
Feld1 = InputBox("Geben Sie den Preis für die erste Zeile Cafe ein:" & vbCr & vbCr & vbCr & vbCr & "***Beispiel: 0,7 ***")
if feld1 = "" goto ZV
Feld2 = ("Geben Sie den Preis für die zweite Zeile Cafe.....usw.
ZV:....
Nachdem diese Eingaben getätigt sind, soll das Programm die Daten in das obere Makro übertragen und dieses mit Tasten-Kürzel zur Verfügung stellen. Eventuell sogar mit Abfrage, welches Kürzel verwendet werden soll.
Ist das irgendwie möglich bzw. realisierbar?

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro mit Abfrage-Werten füllen und speichern
06.11.2006 16:02:02
Stefan
Hallo Michael,
Ich gehe davon aus dass du dieses Makro in der Arbeitsmappe, die du ausfuellen musst, steht, und Du es jede Woche/jeden Tag neu in die Datei schreibst (da ich sonst nicht verstehen wuerde, dass ihr die Daten nicht speichern koennt, aber Makros wuerden gehen?)
Deshalb wuerd ich vorschlagen deine Daten zusammen mit dem Makro in einer zweiten Mappe, die jeder Betrieb selbststaendig fuellen kann, zu speichern. Damit sparst Du Dir auch die Arbeit jede Menge Inputboxen auszuwerten, sondern laesst die User einfach eine Excel-Tabelle ausfuellen. Dann kannst Du wie in deinem Makro die Daten aus dieser "betriebseigenen" Datei einlesen und in den Wochenbericht einfliessen lassen.
Man kann zwar Zeilen per Code in ein Makro schreiben, ist aber (vor allem in diesem Fall) davon abzuraten...
Schoene Gruesse
Stefan
Anzeige
AW: Makro mit Abfrage-Werten füllen und speichern
06.11.2006 16:55:38
Michael
Hallo, Stefan, danke erstmal für die Antwort!
Ich habe das Makro in meiner persönlichen Makroliste gespeichert, also musste ich es nur einmal schreiben. Deine Idee wäre also, ein Excel-File zu erstellen mit den Feldern:
BR Zeile eins: Name Preis(oder nur Preis)
usw....
In diese Felder trägt man die Daten ein. Dann müsste ich ein Makro erstellen, das per Tasten-Kürzel in dem Wochenreporting-File funktioniert und auf diese Tabelle zugreift. Allerdings müsste ich dann noch beim Erstzugriff den Datei-Standort definieren, da für manche unserer Betriebsleiter ein Computer ein böhmisches Dorf ist. Wie könnte man dort auftretende Probleme umgehen? Und wie lasse ich jedem Betrieb das Makro am leichtesten zukommen, ohne viel Installieren oder anderem Aufwand?
Anzeige
AW: Makro mit Abfrage-Werten füllen und speichern
06.11.2006 17:20:12
Stefan
Hallo Michael,
Du muesstest das Makro in der Datei mit den Daten haben, deshalb hoffe ich Eure Betriebsleiter sind in der Lage zwei Dateien zu oeffnen...
Die Instruktionen fuer die Benutzer muessen klar sein. Und diese waeren:
1. Oeffnen der Hilfsdatei (die mit den Daten und dem Makro), eventuell Anpassung der Daten
2. Oeffnen des Wochenberichtes.
3. Starten des Makros (durch Tastenaufruf?)
Du musst nur eventuell Dein Makro so abaendern, dass es in den offenen Arbeitsmappen den Wochenbericht findet. Wenn ihn jeder anders nennt, gibts da natuerlich ein Problem. Das kann man aber loesen, wenn man in den Instruktionen noch einen Zwischenschritt einbaut mit "2.1 Wochenbericht auswaehlen" und Du in Deinem Makro dann mit einer Variablen arbeitest, die Du am Anfang mit meinArbeitblatt=activeworkbook zuweist.
Die Verteilung sollte so aussehen: das Makro in die Datei, in die die Wert-Vorgaben eingetragen werden, rumschicken, und jeder kann sie sich hinspeichern wo er will. Und wenn die Betriebsleiter Probleme damit bekommen, sollen sie mal den Azubi ranlassen... oder sich damit abfinden, die Preise weiterhin jedesmal von neuem von Hand einzufuegen.
Schoene Gruesse
Stefan
Anzeige
AW: Makro mit Abfrage-Werten füllen und speichern
07.11.2006 07:39:27
Michael
Ok, wie kann ich das Wochenreportingfile suchen lassen? Das File selbst heisst überall anders, aber nach dem gleichen Muster, und zwar: Reporting KW_XX_ Betriebsname_vierstellige Betriebsnummer.xls . Da haperts bei mir mit meinen VBA-Kenntnissen(gleich null).
AW: Makro mit Abfrage-Werten füllen und speichern
07.11.2006 12:51:32
Stefan
Hallo Michael,
Einen offenen Wochenbericht wuerdest Du dann so finden:

Sub Ausfuehrung()
Dim myFile As Workbook
For Each myFile In Workbooks
If Left(myFile.Name, 13) = "Reporting KW_" Then
With myFile.Sheets("MONTAG")
'.Range("D9")=....
'... mehr von Deinem Makro
End If
Next myFile
End Sub

Schoene Gruesse
Stefan
Anzeige
AW: Makro mit Abfrage-Werten füllen und speichern
07.11.2006 20:36:36
Michael
Vielen Dank!
Ich probiers mal aus...

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige