Excel: Makro mit Bedinung "wenn leer, kopieren von und einfügen"

Dieses Thema Excel: Makro mit Bedinung "wenn leer, kopieren von und einfügen" im Forum "Windows XP Forum" wurde erstellt von Tobsen086, 21. Juli 2008.

Thema: Excel: Makro mit Bedinung "wenn leer, kopieren von und einfügen" Hallo! Hab leider keine hilfreiche Seite für das Problem gefunden. Bin immer nur zu farblichen Veränderungen von...

  1. Hallo!

    Hab leider keine hilfreiche Seite für das Problem gefunden. Bin immer nur zu farblichen Veränderungen von Zellen gekommen. Folgendes Problem: Ich habe eine Tabelle mit Spielbegnungen, wo aber leider das Datum an einer falschen Stelle steht. Es ist nämlich nicht für jedes Spiel einzeln definiert sondern zusammenfassend, für alle Spiele, die an dem Tag sind. Also so:
    [​IMG]

    Das ist aber alles andere als praktisch. Ich bräuchte nun ein Makro (oder sonst irgendeinen Weg) um das Datum vor jedes Spiel zu bekommen. Mögliche Bedingungen sind ja gegeben:
    1. überall, wo keine Zahl in der Spalte Spiel steht, muss der Inhalt von Spalte C zu B verschoben werden
    2. dieses Datum soll dann immer in Spalte B eingetragen werden, bis ein neues Datum kommt

    Und so sollte es danach aussehen:
    [​IMG]

    Kopfzeile kann natürlich auch weg. Die ist nicht wichtig. Rund würde die ganze Sache am Ende natürlich noch sein, wenn dann noch die Zeilen, wo nur das Datum steht auch noch wegkommen, und quasi pro Zeile nur ein Spiel drin steht. Aber das ist noch in weiter Ferne für mich. Ich wäre schon happy, wenn ich es automatisieren kann, dass es dann so, wie das untere Bild aussieht. Über jegliche Links, Hilfen oder Antworten bin ich dankbar.

    Schönen Tag,
    Tobi!

    [hr]

    Hier das ganze nochmal als Tabelle:
    [table]
    [tr]
    [td]Spiel[/td]
    [td]Datum[/td]
    [td]Heim[/td]
    [td]Gast[/td]
    [td]Anstoß[/td]
    [/tr]
    [tr]
    [td][/td]
    [td][/td]
    [td]16.8.2008[/td]
    [td][/td]
    [td][/td]
    [/tr]
    [tr]
    [td]2[/td]
    [td][/td]
    [td]Velten[/td]
    [td]Bernau[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td]3[/td]
    [td][/td]
    [td]Babelsberg[/td]
    [td]FC Stahl Brandenburg[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td]4[/td]
    [td][/td]
    [td]Finow[/td]
    [td]MSV 1919 Neuruppin[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td]5[/td]
    [td][/td]
    [td]BSC Rathenow[/td]
    [td]Rüdersdorf[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td]6[/td]
    [td][/td]
    [td]Nauen[/td]
    [td]Hennigsdorf[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td]7[/td]
    [td][/td]
    [td]Werder[/td]
    [td]Wittenberge/ Br.[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td]8[/td]
    [td][/td]
    [td]Marienwerder[/td]
    [td]Seelow[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td][/td]
    [td][/td]
    [td]17.8.2008[/td]
    [td][/td]
    [td][/td]
    [/tr]
    [tr]
    [td]1[/td]
    [td][/td]
    [td]Schönow[/td]
    [td]Zehdenick[/td]
    [td]14:00[/td]
    [/tr]
    [tr]
    [td][/td]
    [td][/td]
    [td]22.8.2008[/td]
    [td][/td]
    [td][/td]
    [/tr]
    [tr]
    [td]14[/td]
    [td][/td]
    [td]Bernau[/td]
    [td]Marienwerder[/td]
    [td]18:30[/td]
    [/tr]
    [tr]
    [td]15[/td]
    [td][/td]
    [td]Seelow[/td]
    [td]Schönow[/td]
    [td]19:30[/td]
    [/tr]
    [tr]
    [td][/td]
    [td][/td]
    [td]23.8.2008[/td]
    [td][/td]
    [td][/td]
    [/tr]
    [tr]
    [td]9[/td]
    [td][/td]
    [td]Wittenberge/ Br.[/td]
    [td]Nauen[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td]10[/td]
    [td][/td]
    [td]Hennigsdorf[/td]
    [td]BSC Rathenow[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td]11[/td]
    [td][/td]
    [td]Rüdersdorf[/td]
    [td]Finow[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td]12[/td]
    [td][/td]
    [td]MSV 1919 Neuruppin[/td]
    [td]Babelsberg[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td]13[/td]
    [td][/td]
    [td]FC Stahl Brandenburg[/td]
    [td]Velten[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td]16[/td]
    [td][/td]
    [td]Zehdenick[/td]
    [td]Werder[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td][/td]
    [td][/td]
    [td]29.8.2008[/td]
    [td][/td]
    [td][/td]
    [/tr]
    [tr]
    [td]23[/td]
    [td][/td]
    [td]Seelow[/td]
    [td]Bernau[/td]
    [td]19:30[/td]
    [/tr]
    [tr]
    [td][/td]
    [td][/td]
    [td]30.8.2008[/td]
    [td][/td]
    [td][/td]
    [/tr]
    [tr]
    [td]18[/td]
    [td][/td]
    [td]Velten[/td]
    [td]MSV 1919 Neuruppin[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td]19[/td]
    [td][/td]
    [td]Babelsberg[/td]
    [td]Rüdersdorf[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td]20[/td]
    [td][/td]
    [td]Finow[/td]
    [td]Hennigsdorf[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td]21[/td]
    [td][/td]
    [td]BSC Rathenow[/td]
    [td]Wittenberge/ Br.[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td]22[/td]
    [td][/td]
    [td]Nauen[/td]
    [td]Zehdenick[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td]24[/td]
    [td][/td]
    [td]Marienwerder[/td]
    [td]FC Stahl Brandenburg[/td]
    [td]15:00[/td]
    [/tr]
    [tr]
    [td]17[/td]
    [td][/td]
    [td]Schönow[/td]
    [td]Werder[/td]
    [td]16:00[/td]
    [/tr]
    [/table]
     
  2. Muss der Inhalt, wenn es ein Datum ist, unbedingt von Spalte C nach Spalte B verschoben werden ? Oder kann das Datum zusätzlich in Spalte C stehenbleiben?

    Wenn es stehenbleiben kann, schreibst du in in B2 folgende Formel, und kopierst sie in alle Felder der Spalte B, die du benötigst

    =WENN(UND(A2=;C2=);;WENN(UND(A2=;C2<>);C2;B1))

    Spalte B muss als Datum formatiert sein.
     
  3. Hallöchen!

    Hätte ich ja vielleicht nochmal antworten können. Mir wurde in einem anderen Forum mit diesem Makro wunderbar geholfen:

    Code:
    Option Explicit 
    
    Sub umordnen() 
    Dim wks As Worksheet 
    Dim lng As Long, lngLetzte As Long 
    Dim dtDatum As Date 
    
    Set wks = ActiveSheet 
    With wks 
      lngLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count) 
      If lngLetzte < 2 Then 
        MsgBox keine Daten zum umsortieren Vorhanden 
        Exit Sub 
      End If 
    'leere Zelle in A2 und Datum in C2 ? 
      If IsEmpty(.Cells(2, 1)) And IsDate(.Cells(2, 3).Value) Then 
        dtDatum = .Cells(2, 3).Value 
        .Cells(2, 3).ClearContents 
      Else 
        MsgBox falsches Datenformat 
        Exit Sub 
      End If 
    'umsortieren 
      For lng = 3 To lngLetzte 
        If IsEmpty(.Cells(lng, 1)) And IsDate(.Cells(lng, 3).Value) Then 
          dtDatum = .Cells(lng, 3).Value 
          .Cells(lng, 3).ClearContents 
        Else 
          .Cells(lng, 2).Value = dtDatum 
        End If 
      Next lng 
    'leere Zeilen löschen (Spalte A enthält keinen Wert) 
      For lng = lngLetzte To 2 Step -1 
        If IsEmpty(.Cells(lng, 1)) Then 
          .Rows(lng).Delete Shift:=xlShiftUp 
        End If 
      Next lng 
    End With 
    End Sub
    Besten Dank trotzdem!
     
Die Seite wird geladen...

Excel: Makro mit Bedinung "wenn leer, kopieren von und einfügen" - Ähnliche Themen

Forum Datum
Excel VBA Makro zum suchen eines Textes und anschließend einen Breich zu kopieren Microsoft Office Suite 22. Jan. 2015
Excel VBA Makro zum suchen und markieren von Zeilen die ein bestimmtes Wort enthalten Microsoft Office Suite 16. Juni 2014
Excel: Makro ASCII verschieben Windows XP Forum 8. Nov. 2013
Makros und anderes - Excel Microsoft Office Suite 15. März 2013
Excel Sprungmarke mitten in ein anderes Makro Windows XP Forum 15. März 2012