Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema SpinButton
BildScreenshot zu SpinButton SpinButton-Seite mit Beispielarbeitsmappe aufrufen

Verschieben von Zellen



Excel-Version: 9.0 (Office 2000)

Betrifft: Verschieben von Zellen
von: Uli
Geschrieben am: 09.06.2002 - 14:21:50

Hallo, ich versuch's noch einmal. Beschäftige mich erst seit einem Jahr mit Excel, vielleicht habe ich mich in meiner ersten Anfrage unklar ausgedrückt:

Aus OS/2 habe ich eine Tabelle nach Excel kopiert. Da es sich um Textformat handelt, sind vorerst alle Daten noch in einer Spalte. Das sieht z.Z. wie folgt aus:


15.06.2002 Zahlung
12365489 Kunde A EUR 500
23659878 Kunde B EUR 50

25.06.2002 Anschreiben
23654896 Kunde O EUR 200
55669988 Kunde P EUR 700
56326789 Kunde B Eur 90

u.s.w. Die Tabelle besteht aus ca. 800 Zeilen! Die Anzahl der unter dem jeweiligen Datum aufgeführten Kunden ist immer unterschiedlich.

Ich möchte nun die Zelle mit Datum und Fälligkeitsart allen darunter aufgeführten Kunden voransetzen. Jeweils bis zur leeren Zeile. Dann kann ich die Tabelle weiter bearbeiten!

Wäre schön, wenn dazu jemand eine Idee hat.

Tausend Dank schon jetzt, Uli
P.S. Hatte mich bei der XL-Version bei der 1. Anfrage vertan, sorry!

  

Re: Verschieben von Zellen
von: Coach
Geschrieben am: 09.06.2002 - 16:23:27

Hallo Uli,

da viel von der genauen Datenstruktur abhängt, schicke bitte bei Interesse repräsentative Beispieldaten an CoachYou@Web.de, dann baue ich die Lösung ein. Bevorzugst Du Formeln oder VBA?

Gruß Coach


  

Re: Verschieben von Zellen
von: WernerB.
Geschrieben am: 09.06.2002 - 16:35:09

Hallo Uli,

teste mal dieses Makro:


Option Explicit
Sub DatumVoranstellen()
Dim dt As String
Dim As Long, laR As Long
    laR = Cells(Rows.Count, 1).End(xlUp).Row
    dt = ""
    For i = 1 To laR
      If Not IsEmpty(Cells(i, 1)) Then
        If Right(Cells(i, 1).Text, 3) = "ben" Or _
          Right(Cells(i, 1).Text, 3) = "ung" Then
          dt = Cells(i, 1).Text & " "
          Cells(i, 1).ClearContents
        Else
          Cells(i, 1).Value = dt & Cells(i, 1).Text
        End If
      End If
    Next i
End Sub

Viel Erfolg wünscht
WernerB.
 

Beiträge aus den Excel-Beispielen zum Thema "Verschieben von Zellen"