Registriert seit: 07.11.2019
Version(en): 2016
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
Zeitprotokoll_Kopie.xlsx (Größe: 15,83 KB / Downloads: 5)
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
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)
Registriert seit: 07.11.2019
Version(en): 2016
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
Registriert seit: 07.11.2019
Version(en): 2016
Soo jetzt die Excel Datei mit Makro und wieder etwas schlauer ....
Angehängte Dateien
Zeitprotokoll_Kopie.xlsm (Größe: 22,24 KB / Downloads: 6)
Registriert seit: 11.04.2014
Version(en): Office 365
04.12.2019, 10:33
(Dieser Beitrag wurde zuletzt bearbeitet: 04.12.2019, 10:42 von Klaus-Dieter .)
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-DieterDer Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden
Registriert seit: 07.11.2019
Version(en): 2016
04.12.2019, 10:39
(Dieser Beitrag wurde zuletzt bearbeitet: 04.12.2019, 10:58 von Lizzelmizzel .)
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.
Registriert seit: 16.08.2017
Version(en): 2007 / 2010 / Web
04.12.2019, 11:05
(Dieser Beitrag wurde zuletzt bearbeitet: 04.12.2019, 11:06 von Elex .)
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: 1 Nutzer sagt Danke an Elex für diesen Beitrag 28
• Lizzelmizzel
Registriert seit: 07.11.2019
Version(en): 2016
Danke Elex!
Klappt super!
Zitat: zu With kannst du dich ja noch mal selbst belesenwerde ich machen!