Registriert seit: 13.09.2016
Version(en): 2013
13.09.2016, 11:29
(Dieser Beitrag wurde zuletzt bearbeitet: 13.09.2016, 11:31 von e2Ki.)
Grüße ins Board!
Ich habe folgendes Problem bei einer Excel Tabelle.
Grundlage ist, dass Werte in 3 Spalten stehen c5:e5
Diese Werte sollen durch eine Tastenkombination ausgelesen und ans Ende einer Tabelle eingetragen werden.
Bisher habe ich folgendes gebastelt:
Zitat:Sub Kopieren()
'
' Kopieren Makro
'
' Tastenkombination: Strg+e
'
Range("C5:E5").Select
Selection.Copy
If IsEmpty(Tabelle1.Range("C92").Value) = True Then
Range("C92").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Else
Range("C93").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
End Sub
Soweit so gut, hier habe ich allerdings um erstmal die grundlegenden Funktionen zu testen festgelegte Zellen angegeben.
Ich stelle mir sowas in der Richtung vor:
Zitat:Sub Kopieren()
'
' Kopieren Makro
'
' Tastenkombination: Strg+e
'
Dim i As Long
Range("C5:E5").Select
Selection.Copy
For i = 92 To 200
If Cells(i, 3) = "" Then
Cells(i, 3).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
Next
End Sub
Hier wird allerdings JEDE Zelle befüllt...es soll nur einmal in die letzte leere Zelle eingetragen werden und dann stoppen....
Hat jemand ne Idee?
Vielen Dank vorab!
Registriert seit: 12.04.2014
Version(en): Office 365
Hallo
das wäre ein Weg
Code:
Sub Kopieren()
'
' Kopieren Makro
'
' Tastenkombination: Strg+e
'
Dim lngZiel As Long
lngZiel = Cells(Rows.Count, 3).End(xlUp).Row + 1
Range("C5:E5").Copy
Cells(lngZiel, 3).PasteSpecial Paste:=xlPasteValues
End Sub
MfG Tom
Folgende(r) 1 Nutzer sagt Danke an Crazy Tom für diesen Beitrag:1 Nutzer sagt Danke an Crazy Tom für diesen Beitrag 28
• e2Ki
Registriert seit: 13.09.2016
Version(en): 2013
13.09.2016, 13:02
(Dieser Beitrag wurde zuletzt bearbeitet: 13.09.2016, 13:12 von e2Ki.)
Das funktioniert schon ziemlich gut!
Dafür erstmal vielen Dank.
Wenn ich das richtig verstanden habe sucht er aber nach der LETZTEN leeren Zelle oder?
Dadurch kommt es nun zu einem Problem mit meiner Tabelle.
Leider kann ich hier keiner Addins verwenden daher leider nur eine Beschreibung.
Ich habe jeweils Tabellenblöcke nach Wochen Also Montag - Freitag
Zwischen den Blöcken sind 2 Leerzeilen, die ich brauche um weitere Formeln zu nutzen.
Mit deiner Lösung würde er nun auch diese Leerzeilen befüllen - also habe ich mir gedacht fülle ich doch einfach diese Zeilen mit einer 0 und passe es farblich an.
Nun überspringt er aber ALLE Zeilen bis er an den Punkt kommt, an dem NICHTS weiter folgt.
Also:
C91:E91 sind gefüllt mir den Uhrzeiten
C92:E92 leer und warten auf befüllung
bis C95:E95 leer
C96:E96 sind mit einer 0 gefüllt wegen Leerzeile
C97:E97 sind mit einer 0 gefüllt wegen Leerzeile
Das Makro springt nun aber leider nicht zu C92:E92 sondern nach C98:e98 und fügt die Werte dort ein.
Ist etwas wirr geschrieben aber hier auf der Arbeit kann ich wie gesagt leider nichts weiter nutzen.
EDIT:
Wenn wir hier gerade schon dabei sind....mir ist da gerade ne Idee gekommen.
Könnte man eigentlich auch bei dem Eingabeteil ein Datum einfügen welches dann mit den Daten in der Liste abgeglichen wird und man so auf die richtige Zeile kommt?
Müsste ja in irgendeiner Form dem Sverweis nahekommen....
B5 - C5 - D5 - E5
Also: Eingabedaten: Datum - Kommen - Gehen - Pause
In den Tabellenblöcken steht in Spalte B das Datum.
Jetzt müsste das Makro das Eingabedatum B5 mit den Daten aus der Tabelle vergleichen und die Daten C5:E5 in die entsprechende Zeile einfügen.
Damit müsste man sich das leerzellen gesuche sparen und es wäre insgesamt wesentlich eleganter.....
Vielleicht hat ja auch hierzu jemand ne Idde :100:
Registriert seit: 12.04.2014
Version(en): Office 365
Hi
passt es so?
Code:
Sub Kopieren()
'
' Kopieren Makro
'
' Tastenkombination: Strg+e
'
Dim lngZiel As Long
lngZiel = Cells(5, 3).End(xlDown).Row + 1
Range("C5:E5").Copy
Cells(lngZiel, 3).PasteSpecial Paste:=xlPasteValues
End Sub
MfG Tom
Folgende(r) 1 Nutzer sagt Danke an Crazy Tom für diesen Beitrag:1 Nutzer sagt Danke an Crazy Tom für diesen Beitrag 28
• e2Ki
Registriert seit: 13.09.2016
Version(en): 2013
13.09.2016, 14:13
(Dieser Beitrag wurde zuletzt bearbeitet: 13.09.2016, 14:13 von e2Ki.)
Hi Tom,
mit der 2. Variante fügt er die Werte Fix bei C8 ein
Hatte meinen oberen Beitrag noch etwas angepasst:
Wenn wir hier gerade schon dabei sind....mir ist da gerade ne Idee gekommen.Könnte man eigentlich auch bei dem Eingabeteil ein Datum einfügen welches dann mit den Daten in der Liste abgeglichen wird und man so auf die richtige Zeile kommt? Müsste ja in irgendeiner Form dem Sverweis nahekommen.... B5 - C5 - D5 - E5Also: Eingabedaten: Datum - Kommen - Gehen - Pause [img]
Dateiupload bitte im Forum! So geht es: Klick mich!]
In den Tabellenblöcken steht in Spalte B das Datum.Jetzt müsste das Makro das Eingabedatum B5 mit den Daten aus der Tabelle vergleichen und die Daten C5:E5 in die entsprechende Zeile einfügen.Damit müsste man sich das leerzellen gesuche sparen und es wäre insgesamt wesentlich eleganter.....Vielleicht hat ja auch hierzu jemand ne Idee [img]
Dateiupload bitte im Forum! So geht es: Klick mich!]
Vielleicht kann ein Mod ja mal den Threadnamen anpassen - diese Überlegung geht ja in eine etwas andere Richtung nun
Registriert seit: 13.09.2016
Version(en): 2013
Hat keiner mehr eine Idee zu meinem Problem? ;-(
Registriert seit: 21.07.2016
Version(en): 2007
Hi,
bei der Suche nach Daten ist Excel zuweilen etwas komisch.
In diesem Fall solltest Du eine Beispieldatei hochladen. Es bringt Dir wenig wenn Dir jemand einen Code zur Verfügung stellt,
der dann u.U. Fehlermeldungen auswirft.
Da das nun ein neues Thema ist, schlage ich vor, dazu auch ein neues Thema zu erstellen und die Datei dort zur Verfügung zu stellen.
Gruß
Ich
Registriert seit: 13.09.2016
Version(en): 2013
Alles klar
Thread ist eingerichtet:
Hier gehts weiter!