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

wenn Zeile voll, nächste Zeile verwenden

wenn Zeile voll, nächste Zeile verwenden
03.01.2006 16:41:24
Michael
Hallo,
meine Excel Tabelle besteht aus 13 Tabellenseiten ( Tabelle Datenpflege + 12 Monatstabellen, also Januar - Dezember ). In der Tabelle Datenpflege werden beliebig oft Wert eingegeben die nach dem jeweiligen Tagesdatum in die entsprechende Monatstabelle weitergegeben werden sollen. Alte Werte sollen dabei aber nicht überschrieben werden, sondern bei einer neuen Eingabe auf der Tabelle Datenpflege jeweils in den einzelnen Monatstabellen untereinander geschrieben werden um im Bedarfsfall manuell Änderungen vornehmen zu können. Kann man den sowas überhaupt über ne "normale Formel" lösen, oder komm ich um VBA nicht herum ? Danke schon ma im voraus...
Mfg Michael

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wenn Zeile voll, nächste Zeile verwenden
03.01.2006 17:01:12
Dominik
ich fürchte du kommst um VBA nicht drumherum. Aber vielleicht denken andere anders!
AW: wenn Zeile voll, nächste Zeile verwenden
03.01.2006 18:03:56
Michael
Könnte mir jemand ein entsprechenden VBA Code schreiben ?
Mfg Michael
AW: wenn Zeile voll, nächste Zeile verwenden
04.01.2006 01:21:39
Josef
Hallo Michael!
Ohne genauere Angaben, kann ich dir nur Beisielhaft zeigen wie's geht!
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub DatenUebernehmen()
Dim objSh As Worksheet
Dim lngFirst As Long

On Error GoTo ErrExit

If Sheets("Datenpflege").Range("A2") = "" Then Exit Sub

Set objSh = Sheets(Format(Date, "mmmm"))

With objSh
  lngFirst = .Cells(Rows.Count, 1).End(xlUp).Row + 1
  .Cells(lngFirst, 1) = Date 'Spalte "A" - Datum
  .Cells(lngFirst, 2) = Sheets("Datenpflege").Range("A2") 'Spalte "B" - erste Datenzelle
  .Cells(lngFirst, 3) = Sheets("Datenpflege").Range("B2") 'Spalte "C" - zweite Datenzelle
  .Cells(lngFirst, 4) = Sheets("Datenpflege").Range("C2") 'Spalte "D" - dritte Datenzelle
End With

Sheets("Datenpflege").Range("A2:C2").ClearContents

Set objSh = Nothing

Exit Sub

ErrExit:

If Err.Number > 0 Then
  MsgBox Err.Number & vbLf & Err.Description, 48, "Fehler"
End If

End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: wenn Zeile voll, nächste Zeile verwenden
04.01.2006 02:13:15
Michael
Schon ma Danke für die Hilfe, werds gleich ma ausprobieren
AW: wenn Zeile voll, nächste Zeile verwenden
04.01.2006 14:04:21
Michael
Hallo Sepp, erstmal Vielen Dank für deine Mühe !!! Leider kann ich mit dem Code in der Form nocht nicht anfangen. Daher will ich versuchen, noch etwas genauer mein Anliegen zu Schildern. Wie bereits gesagt gibt es 13 Tabellenblätter ( 1x Datenpflege + 12 Monatstabellen Januar - Dezember). Die Tabelle Datenblatt sollte, wenn nicht zuviel Umstand, sich das aktuelle Tagesdatum selber ziehn. Das Datum sollte sollte in der Tabelle Datenpflege erscheinen und an Position "B2" stehen. Weitere Datenfelder werden im Tabellenblatt Datenpflege folgende Zeilen sein:
- A11 bis A37 (Variable A - In diesen Zeilen können Zahlen aber auch Ziffern stehen)
- B11 bis B37 (Variable B - In diesen Zeilen werden ausschließlich Personennamen stehen)
(ungerade)
- B12 bis B38 (Variable C - In diesen Zeilen werden ausschließlich Datumsangaben stehen)
(gerade)
- die Spalten C,D,E,F,G,H,I,J,K,L,M,N werden je nach Bedarf von Zeile 11 bis 37 ausschließlich mit Zahlenwerten befüllt
An dieser Stelle angekommen, wünsche ich mir, wenn Daten wie oben beschrieben, in die Tabelle Datenpflege eingegeben wurden, das ich per VBA diese je nach Tagesdatum ( z.B. Tagesdatum 15.01.2006 dann sollen die Werte in Tabelle Januar usw...) in die entsprechende Monatstabelle übergeben könnte. Dabei sollte berücksichtigt werden, das die Wert untereinander geschrieben werden, so das eine manuelle korrektur bei fehlerhafter Eingabe in der Tabelle Datenpflege korriegiert werden kann.
So ich hoffe ich konnte mein Problem noch etwas verdeutlichen.
Mfg Michael
Anzeige
AW: wenn Zeile voll, nächste Zeile verwenden
04.01.2006 14:13:18
Michael
Mir ist ein kleiner Fehler unterlaufen.
Korrekt ist, das in den Zeilen A11-A37 Zahlen und Buchstaben stehen können, und nicht Zahlen und Ziffern :)
Bei den Monatstabellen sollte die Darstellung so aussehen:
z.B.
Zeile 1: Variable A - Variable B - Variable C - C11
Zeile 2: Variable A - Variable B - Variable C - C12
Zeile 3: Variable A - Variable B - Variable C - C12
.
.
.
Zeile 100: Variable A - Variable B - Variable C - N37
AW: wenn Zeile voll, nächste Zeile verwenden
04.01.2006 14:21:20
Josef
Hallo Michael!
Wenn mein Grippegeschwächtes Hirn noch funktioniert, dann sollte es das tun!
Sub DatenUebernehmen()
Dim objSh As Worksheet
Dim lngFirst As Long

On Error GoTo ErrExit

Set objSh = Sheets(Format(Date, "mmmm"))

With objSh
  lngFirst = .Cells(Rows.Count, 1).End(xlUp).Row + 1
  
  If .Cells(Rows.Count, 2).End(xlUp).Row + 1 > lngFirst Then lngFirst = .Cells(Rows.Count, 2).End(xlUp).Row + 1
  
  .Range(.Cells(lngFirst, 1), .Cells(lngFirst + 27, 14)) = Sheets("Datenpflege").Range("A11:N38").Value
End With

'Datenbereich löschen!
Sheets("Datenpflege").Range("A11:N38").ClearContents

Set objSh = Nothing

Exit Sub

ErrExit:

If Err.Number > 0 Then
  MsgBox Err.Number & vbLf & Err.Description, 48, "Fehler"
End If

End Sub



'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: wenn Zeile voll, nächste Zeile verwenden
04.01.2006 20:35:12
Michael
Danke Sepp, ich geb dir später ne Rückmeldung obs funktioniert !!!
AW: wenn Zeile voll, nächste Zeile verwenden
05.01.2006 00:35:51
Michael
Hallo Sepp, hast du S U P E R gemacht !!! Nur eins funktioniert noch nicht ganz...
Nach Abhängigkeit vom Tagesdatum, sollen die eingegebenen Werte auf aus der Tabelle "Datenpflege" in die jeweilige Monatstabelle übernommen werden. Also wenn ich im Tabellenblatt "Datenpflege" in der Zeile B2 das Tagesdatum eingebe, wäre es schon wenn der Code es auch der entsprechenden Monatstabelle zuordnen könnte.
z.B.
Zeile B2 = 5.1.2006 = Werte in Monatstabelle Januar übergeben
Zeile B2 = 9.2.2006 = Werte in Monatstabelle Februar übergeben
Bisher übergibt er wie Werte zwar schön untereinander, aber immer nur in die Januartabelle, egal was ich fürn Datum in B2 eingebe.
Wenn das noch funktionieren würde, schließ ich dich in mein Nachtgebet ein :)
Mfg Michael
Anzeige
AW: wenn Zeile voll, nächste Zeile verwenden
05.01.2006 02:43:01
Josef
Hallo Michael!
Ich habe im Code auch das aktuelle Datum als basis der Tabellenauswahl genommen!
änder die Zeile

Set objSh = Sheets(Format(Date, "mmmm"))

um in

Set objSh = Sheets(Format(Sheets("Datenpflege").Range("B2"), "mmmm"))

'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: wenn Zeile voll, nächste Zeile verwenden
05.01.2006 13:04:04
Michael
So funktioniert es. Hab Tausend Dank !!!
Mfg Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige