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.

VBA für Dateneingabe
#11
Hallöchen,

ja, wie gesagt, nochmal hüpfen - 2x End(xlup):

Code:
'Wenn letzte Zeile des Tabellenbereiches nicht leer ist, dann
If Sheets("Datenmaske").Cells(Rows.Count, 1).End(xlUp).Value <> "" Then
  'unter dem Bereich einfuegen
  Sheets("Datenmaske").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
ansonsten
Else
  'nochmal nach oben und dann unter den Daten einfuegen
  Sheets("Datenmaske").Cells(Rows.Count, 1).End(xlUp).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
'Ende Wenn letzte Zeile des Tabellenbereiches nicht leer ist, dann
End If
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Scolex2015
Antworten Top
#12
Atilla damit wären wir bei 75%.
Jetzt er schreibt in die Tabelle auf der dem zweiten Tabellenblatt aber leider erweitert er diese nicht, sondern überschreibt immer den alten Datensatz...  Undecided

Schauan, an welcher Stelle müßte ich deinen Part einfügen?
Antworten Top
#13
Hallo,

auf welchem Code beziehst Du dich jetzt?
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Scolex2015
Antworten Top
#14
Hallo Scolex,

im Code steht diese Zeile:

Sheets("Datenmaske").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues

Die ersetzt Du durch die Zeilen von mir.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#15
Ich versuche gerade eine Symbiose zwischen Steffl (der es hinbekommen hat das meine Formeln aus der Dateneingabe nicht gelöscht werden) und Schauan (der ist hinbekommen hat das die Eingaben untereinander in meinem zweiten Tabellenblatt landen)


Leider sieht das jetzt so wüst aus, dass weder Exel noch ich etwas damit anfangen können!  :16:

Code:
Sub Zeile_kopieren()
  Dim lngC As Long
  'Zappel nicht!
  Application.ScreenUpdating = False
 
  With Worksheets("Datenmaske")
     lngC = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
     
     'Bereich kopieren
     Sheets("Eingabemaske").Range("A7:G7").Copy
     
     'einfügen in erste freie Zeile in ausgabe
     .Cells(lngC, 1).PasteSpecial xlPasteValues
  End With
  Worksheets("Eingabemaske").Range("A7,C7,E7:F7").ClearContents
 
  'Zappel wieder!
  Application.ScreenUpdating = True
 
  'Kopiermodus beenden
  Application.CutCopyMode = False
End Sub


Das ist jetzt der Ausagangscode von Steffl, Schauan leider existiert die Zeile welche ich durch deine Schleife ersetzen möchte nicht mehr.... Hiiiilfe  :20:
Antworten Top
#16
Hallöchen,

aber in Deiner ersten Fragestellung ist er noch Wink Ich habe meinen Part jetzt mal linksseitig eingefügt, damit das besser ersichtlich ist.

Code:
Sub Dateneingabe()
 
  'Bildschirm höre auf zu zappeln!
  Application.ScreenUpdating = False
 
  'Bereich von bis wird kopiert
  Sheets("Eingabemaske").Range("A7:G7").Copy
 
  'Einfügen in erste freie Zeile in Datenmaske
'Wenn letzte Zeile des Tabellenbereiches nicht leer ist, dann
If Sheets("Datenmaske").Cells(Rows.Count, 1).End(xlUp).Value <> "" Then
 'unter dem Bereich einfuegen
 Sheets("Datenmaske").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
ansonsten
Else
 'nochmal nach oben und dann unter den Daten einfuegen
 Sheets("Datenmaske").Cells(Rows.Count, 1).End(xlUp).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
'Ende Wenn letzte Zeile des Tabellenbereiches nicht leer ist, dann
End If
  'Leider trägt er mir das nicht in meine Tabelle ein, er fängt bei A3 unter der Tabelle an, da dieser Baustein geklaut ist und mich überfordert bin ich hier total hilflos!
 
  'Bereich von bis wird geleert
  Range("A7:G7").ClearContents
  Macht er super aber leider sind meine tollen Formeln und Bezüge weg, ein eintragen der Formel über VBA Code führt zu Fehlern.
 
  'Bildschirm darf wieder zappeln
  Application.ScreenUpdating = True
 
  'Kopiermodus beenden
  Application.CutCopyMode = False
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Scolex2015
Antworten Top
#17
Hallo,

(23.12.2015, 15:17)Scolex2015 schrieb: Ich versuche gerade eine Symbiose zwischen Steffl (der es hinbekommen hat das meine Formeln aus der Dateneingabe nicht gelöscht werden) und Schauan (der ist hinbekommen hat das die Eingaben untereinander in meinem zweiten Tabellenblatt landen)

die Ergänzung von Atilla hast Du schon gesehen?
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Scolex2015
Antworten Top
#18
Gesehen habe ich die Verbesserung von Atilla schon aber der Sinn erschließt sich mir nicht. Top Codeparts sind für mich Aktuell Steffl, für den erhalt der Formeln und Schauan für die Eingabe in die Tabelle. Aber beide zusammen funzeln irgendwie dahin gehend nicht das er meine Formeln löscht, das ist der aktuelle Code mit dem ich arbeite....
Code:
Sub Dateneingabe()
 
 'Bildschirm höre auf zu zappeln!
 Application.ScreenUpdating = False
 
 'Bereich von bis wird kopiert
 Sheets("Eingabemaske").Range("A7:G7").Copy
 
'Wenn letzte Zeile des Tabellenbereiches nicht leer ist, dann
If Sheets("Datenmaske").Cells(Rows.Count, 1).End(xlUp).Value <> "" Then
'unter dem Bereich einfuegen
Sheets("Datenmaske").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
'ansonsten
Else
'nochmal nach oben und dann unter den Daten einfuegen
Sheets("Datenmaske").Cells(Rows.Count, 1).End(xlUp).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
'Ende Wenn letzte Zeile des Tabellenbereiches nicht leer ist, dann
End If
 
 'Bereich von bis wird geleert
 Range("A7:G7").ClearContents
 
 
 'Bildschirm darf wieder zappeln
 Application.ScreenUpdating = True
 
 'Kopiermodus beenden
 Application.CutCopyMode = False
End Sub
 

 Vieleicht kann Steffl da nochmal rüberschauen und nachjustieren!?
Antworten Top
#19
Hallo,

Atilla hat einen Code hier eingestellt, füge ich ihn nochmals ein

Code:
Sub Zeile_kopieren()
  Dim lngC As Long
  'Zappel nicht!
  Application.ScreenUpdating = False

  With Worksheets("Datenmaske")
     lngC = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
     If lngC = 3 Then
       If Application.CountA(Range("A2:G2")) = 0 Then lngC = 2
     End If
      
     'Bereich kopieren
     Sheets("Eingabemaske").Range("A7:G7").Copy
    
     'einfügen in erste freie Zeile in ausgabe
     .Cells(lngC, 1).PasteSpecial xlPasteValues
  End With
  Worksheets("Eingabemaske").Range("A7,C7,E7:F7").ClearContents

  'Zappel wieder!
  Application.ScreenUpdating = True

  'Kopiermodus beenden
  Application.CutCopyMode = False
End Sub
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Scolex2015
Antworten Top
#20
Hi,

(23.12.2015, 18:24)Scolex2015 schrieb: Gesehen habe ich die Verbesserung von Atilla schon aber der Sinn erschließt sich mir nicht. Top Codeparts sind für mich Aktuell Steffl, für den erhalt der Formeln und Schauan für die Eingabe in die Tabelle. Aber beide zusammen funzeln irgendwie dahin gehend nicht das er meine Formeln löscht, das ist der aktuelle Code mit dem ich arbeite....
[...]
 Vieleicht kann Steffl da nochmal rüberschauen und nachjustieren!?

jetzt schreibe ich es doch:

wenn atilla sich Steffls Code vornimmt und eine Verbesserung einbaut, dann solltest Du nicht mit Steffls unverändertem Code weiterarbeiten, sondern atillas Code verwenden. Wenn Du den Code nicht verstehst, solltest Du bei ihm nachfragen.
[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • Steffl
Antworten Top


Gehe zu:


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