Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Auswertung über Eingabemaske
#1
Hallo zusammen,

ich will Daten auswerten und habe dazu eine Eingabemaske erstellt und diese mit dem Makro-Editor belegt.
Zwei Dinge stören mich noch:
1.) sieht es so aus, als würde das Makro zwischen den Blättern hin und her springen (so wie ich beim Editor). Wie kann ich das abstellen?
2.) Der erste Befehl im Makro ist eine neue Zeile im Blatt 'Auswertung' einzufügen, aber ohne Formelbezug. Wie schaffe ich es, die Formeln , die in Zeile 2 stehen, ebenfalls zu übertragen?

Danke!


Angehängte Dateien
.xlsx   Zeitprotokoll_Kopie.xlsx (Größe: 15,83 KB / Downloads: 5)
Antworten Top
#2
Hi,

ich kann dir zwar fachlich nicht helfen; eine Datei ohne das entsprechende Makro hochzuladen, hilft aber nicht.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Code:
Sub Eingabemaske_Laufzettel()
'
' Eingabemaske_Laufzettel Makro
'

'
   Sheets("Auswertung").Select
   Rows("2:2").Select
   Application.CutCopyMode = False
   Selection.Insert Shift:=xlDown
   Sheets("Eingabemaske").Select
   Range("C6").Select
   Selection.Copy
   Sheets("Auswertung").Select
   Range("A2").Select
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
   Sheets("Eingabemaske").Select
   Range("C8").Select
   Application.CutCopyMode = False
   Selection.Copy
   Sheets("Auswertung").Select
   Range("B2").Select
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
   Sheets("Eingabemaske").Select
   Range("C10").Select
   Application.CutCopyMode = False
   Selection.Copy
   Sheets("Auswertung").Select
   Range("D2").Select
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
   Sheets("Eingabemaske").Select
   Range("C12").Select
   Application.CutCopyMode = False
   Selection.Copy
   Sheets("Auswertung").Select
   Range("E2").Select
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
   Sheets("Eingabemaske").Select
   Range("C8").Select
   Sheets("Eingabemaske").Select
   Range("C14").Select
   Application.CutCopyMode = False
   Selection.Copy
   Sheets("Auswertung").Select
   Range("C2").Select
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
   Sheets("Eingabemaske").Select
   Range("F6").Select
   Application.CutCopyMode = False
   Selection.Copy
   Sheets("Auswertung").Select
   Range("F2").Select
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
   Sheets("Eingabemaske").Select
   Range("F8").Select
   Application.CutCopyMode = False
   Selection.Copy
   Sheets("Auswertung").Select
   Range("G2").Select
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
   Sheets("Eingabemaske").Select
   Range("F10").Select
   Application.CutCopyMode = False
   Selection.Copy
   Sheets("Auswertung").Select
   Range("H2").Select
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
   Sheets("Eingabemaske").Select
   Range("F14").Select
   Application.CutCopyMode = False
   Selection.Copy
   Sheets("Auswertung").Select
   Range("I2").Select
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
   Sheets("Eingabemaske").Select
   Application.CutCopyMode = False
   Selection.ClearContents
   Range("F10").Select
   Selection.ClearContents
   Range("F8").Select
   Selection.ClearContents
   Range("F6").Select
   Selection.ClearContents
   Range("C14").Select
   Selection.ClearContents
   Range("C12").Select
   Selection.ClearContents
   Range("C10").Select
   Selection.ClearContents
   Range("C8").Select
   Selection.ClearContents
   Range("C6").Select
   Selection.ClearContents
End Sub
Antworten Top
#4
Soo jetzt die Excel Datei mit Makro und wieder etwas schlauer ....


Angehängte Dateien
.xlsm   Zeitprotokoll_Kopie.xlsm (Größe: 22,24 KB / Downloads: 6)
Antworten Top
#5
Hallo,

meine ganz persönliche Meinung zum Makro-Rekorder ist, dass man damit nicht arbeiten sollte, da er keinen ordentlichen Quelltext erzeugt. Das ist mehr eine Logdatei, die alle Tastendrücke aufzeichnet. Dadurch entsteht ein sehr langer Quelltext mit vielen unnötigen Inhalten.

Um das mal zu verdeutlichen, das:

Code:
Sheets("Eingabemaske").Select
Range("C6").Select
Selection.Copy
Sheets("Auswertung").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
   :=False, Transpose:=False


bewirkt das gleiche wie das:

Code:
Sheets("Auswertung").Range("A2") = Sheets("Eingabemaske").Range("C6")

Dann hört auch der Wechsel zwischen den Blättern auf. Die Fleißarbeit bekommst du sicher selber hin.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#6
Dann wäre die Frage ob mich jemand bei einem Makro unterstützen könnte.
Der Inhalt der Felder in 'Eingabemaske' sollen in die Tabelle 'Auswertung' übertragen werden und dann soll die Eingabemaske wieder geleert werden. Danke!

Klaus-Dieter, danke für deinen Tipp.


Code:
Sub Eingabemaske_Laufzettel()
'
' Eingabemaske_Laufzettel Makro
'

'
   Sheets("Auswertung").Select
   Rows("2:2").Select
   Application.CutCopyMode = False
   Selection.Insert Shift:=xlDown
   Sheets("Auswertung").Range("A2") = Sheets("Eingabemaske").Range("C6")
   Sheets("Auswertung").Range("B2") = Sheets("Eingabemaske").Range("C8")
   Sheets("Auswertung").Range("C2") = Sheets("Eingabemaske").Range("C14")
   Sheets("Auswertung").Range("D2") = Sheets("Eingabemaske").Range("C10")
   Sheets("Auswertung").Range("E2") = Sheets("Eingabemaske").Range("C12")
   Sheets("Auswertung").Range("F2") = Sheets("Eingabemaske").Range("F6")
   Sheets("Auswertung").Range("G2") = Sheets("Eingabemaske").Range("F8")
   Sheets("Auswertung").Range("H2") = Sheets("Eingabemaske").Range("F10")
   Sheets("Auswertung").Range("I2") = Sheets("Eingabemaske").Range("C14")
   Selection.ClearContents
   Range("F10").Select
   Selection.ClearContents
   Range("F8").Select
   Selection.ClearContents
   Range("F6").Select
   Selection.ClearContents
   Range("C14").Select
   Selection.ClearContents
   Range("C12").Select
   Selection.ClearContents
   Range("C10").Select
   Selection.ClearContents
   Range("C8").Select
   Selection.ClearContents
   Range("C6").Select
   Selection.ClearContents
End Sub
Hab das jetzt mal so umgesetzt und hab jetzt das Problem, dass er nur eine neue Zeile einfügt und dann das Blatt wechselt.
Antworten Top
#7
Hi

zu With kannst du dich ja noch mal selbst belesen. Und wenn du schon mit VBA arbeitest, dann lasse auch J und K berechnen und spar die Formelsache.

Code:
Sub Eingabe()
With Sheets("Auswertung")
  .Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
  .Range("A2").Value = Range("C6").Value
  .Range("B2").Value = Range("C8").Value
  .Range("D2").Value = Range("C10").Value
  .Range("E2").Value = Range("C12").Value
  .Range("C2").Value = Range("C14").Value
  .Range("F2").Value = Range("F6").Value
  .Range("G2").Value = Range("F8").Value
  .Range("H2").Value = Range("F10").Value
  .Range("I2").Value = Range("F14").Value
  .Range("J2").Value = .Range("F2").Value - .Range("G2").Value - .Range("H2").Value
  .Range("K2").Value = .Range("I2").Value / .Range("J2").Value
End With
Range("C6:C14").ClearContents
Range("F6:F14").ClearContents
End Sub

Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Lizzelmizzel
Antworten Top
#8
Danke Elex!
Klappt super!

Zitat:zu With kannst du dich ja noch mal selbst belesen

werde ich machen!
Antworten Top


Gehe zu:


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