Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1232to1236
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
Inhaltsverzeichnis

darunter stehende Zelle verschieben

darunter stehende Zelle verschieben
bkstgt
Hallo Zusammen,
ich habe eine Datei mit zwei untereinander stehenden Zahlenwerten in einer Spalte. Ich möchte nun den Wert der zweiten Zelle nach oben rechts verschieben, falls hier ein Wert steht. So sieht die
Ursprungsdatei aus (zwei Spalten, die Zahlen stehen untereinander):
Userbild
So soll sie danach aussehen (jeder Inhalt in einer Spalte):
Userbild
Ich kenne mich nur mit den 'normalen' Funktionen und einfachen
Formeln aus. Kann mir jemand weiterhelfen?
Ich benutze Office 2007 - die zu formatierenden Dateien sind allerdings auf einem Rechner
mit Office 2003.
Vielen Dank schon einmal!
AW: darunter stehende Zelle verschieben
30.09.2011 20:05:46
Josef

Hallo Bianca,
in ein allgemeines Modul:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub bianca()
  Dim lngRow As Long, lngStart As Long, lngCol, lngLast As Long
  
  With ActiveSheet
    lngLast = .Cells(.Rows.Count, 1).End(xlUp).Row
    Do
      lngRow = lngRow + 1
      If .Cells(lngRow, 1) <> "" Then
        lngCol = 3
        lngStart = lngRow + 1
        Do While .Cells(lngStart, 2) <> ""
          .Cells(lngRow, lngCol) = .Cells(lngStart, 2)
          .Cells(lngStart, 2) = ""
          lngCol = lngCol + 1
          lngStart = lngStart + 1
        Loop
      End If
    Loop While lngRow < lngLast
  End With
  
End Sub


PS: Wenn du deine Mailadresse so offen bekannt gibst, kann das eine Spam-Lawine auslösen!

« Gruß Sepp »

Anzeige
AW: darunter stehende Zelle verschieben
30.09.2011 20:14:02
bkstgt
Mist - kann ich das löschen/ändern? Ich war so auf die Frage konzentriert.....
Mail an Hans ist die einzige Möglichkeit! o.T.
30.09.2011 20:15:06
Josef
« Gruß Sepp »

AW: Mail an Hans ist die einzige Möglichkeit! o.T.
30.09.2011 21:07:08
bkstgt
ich habe das Modull getestet und es hat funktioniert! Ich habe allerdings vergessen zu erwähnen, dass manchmal die Spalten aus wie folgt aussehen:
Userbild
ja und nun? o.T.
30.09.2011 21:09:41
Josef
« Gruß Sepp »

Anzeige
AW: ja und nun? o.T.
30.09.2011 21:17:55
bkstgt
Naja, da steht dann nach dem Lauf alles nebeneinander.... Quasi - 200,00 20,00 300,00 30,00 usw.
Aber auf jeden Fall funktioniert das, was mir schon einmal mächtig weiterhilft. Vielen Dank!!
AW: ja und nun? o.T.
30.09.2011 21:19:40
Josef

Hallo Bianca,
das war ja auch deine Anforderung, oder?
Willst du die Farb-Blöcke zusammenzählen?

« Gruß Sepp »

Anzeige
AW: ja und nun? o.T.
30.09.2011 21:26:21
bkstgt
Ja - das stimmt und du hast mir alles erleichtert, auch wenn ich keinen blassen Schimmer von Makros habe.
Die Blöcke müssten quasie nebeneinander / untereinander stehn:
Userbild
Aber ich will deine Zeit nicht überbeanspruchen. Du hast mir auf jeden Fall sehr, sehr weitergeholfen.
Danke schön!
AW: ja und nun? o.T.
30.09.2011 21:39:06
Josef

Hallo Bianca,
probier mal das.

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub bianca()
  Dim lngRow As Long, lngStart As Long, lngCol, lngLast As Long
  Dim lngOffset As Long
  
  With ActiveSheet
    lngLast = .Cells(.Rows.Count, 1).End(xlUp).Row
    Do
      lngRow = lngRow + 1
      If .Cells(lngRow, 1) <> "" Then
        lngOffset = 0
        lngCol = 3
        lngStart = lngRow
        Do While .Cells(lngStart, 2) <> ""
          .Cells(lngRow + lngOffset, lngCol) = .Cells(lngStart, 2)
          .Cells(lngRow + lngOffset, lngCol).Interior.Color = .Cells(lngStart, 2).Interior.Color
          If .Cells(lngStart + 1, 2).Interior.Color = .Cells(lngStart, 2).Interior.Color Then
            lngCol = lngCol + 1
          Else
            lngOffset = lngOffset + 1
            lngCol = 3
          End If
          lngStart = lngStart + 1
        Loop
      End If
    Loop While lngRow < lngLast
    .Columns(2).Delete
  End With
  
End Sub



« Gruß Sepp »

Anzeige
AW: ja und nun? o.T.
30.09.2011 21:51:13
bkstgt
... steht leider wieder nebeneinander.... Gott, hast du eine Geduld :-)
AW: ja und nun? o.T.
30.09.2011 21:56:27
Josef

Hallo Bianca,
also bei mir wird aus dem hier
Tabelle2

 AB
412-3456789-01200
5 -20
6 300
7 30
8  
923-4567890-12-300
10 20
11 400
12 500
13 -50


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
nach dem Makro das hier
Tabelle1

 ABC
412-3456789-01200-20
5 30030
6   
7   
8   
923-4567890-12-30020
10 400 
11 500-50


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

« Gruß Sepp »

Anzeige
AW: ja und nun? o.T.
30.09.2011 22:10:27
bkstgt
... dann mache ich wohl was falsch. Habe das Makro komplett gelöscht, deines reinkopiert, aber es stehen immer noch die mehrzeiligen nebeneinander. Ich weiss nicht einmal wo ich den Fehler suchen soll, da Makro ein Böhmisches Dorf für mich ist. Hmm vielleicht helfen ein paar mehr Infos weiter. Ich muss etwas vorsichtig sein und nicht zuviel preis geben, da ich es für´s Geschäft brauche und die leider nicht fähig sind, brauchbare Dateien zu erstellen. Also, diese Infos sind noch dabei:
Userbild
entweder stehen die "Worte" oder die dreistelligen Zahlen in der Spalte 101, 105, 120 etc. also 1xx und 266 gehören zusammen. 266 ist immer die Zahl für Courtage, 1xx sind Beiträge verschiedenster Art, deshalb 1xx. Ich weiss wirklich nicht, warum das Makro nicht gelöscht wird, sonder weiterhin so ausgeführt. Sehr seltsam
Anzeige
AW: ja und nun? o.T.
30.09.2011 22:16:41
Josef

Hallo Bianca,
das kann ja nicht gehen, weil zuerst nur Zahlen im Spiel waren, dann Farben und jetzt auf einmal Texte und Zahlen.
Sorry, aber so wird das nichts.
Erstelle doch eine Beispieldatei mit den Daten, so wie du sie vorliegen hast, aber bitte genau so und nicht nur ungefähr! Darunter ordnest du die Daten dann so an, wie du es dir vorstellst. Die Datei lädst du dann hoch.

« Gruß Sepp »

Anzeige
AW: ja und nun? o.T.
30.09.2011 22:41:17
bkstgt
Da ich alle Spalten lösche und nur eben die zwei Anfangsspalten übrig bleiben, dachte ich so geht es einfacher. Die Datei, die ich jetzt geladen habe enthält sehr brisante Angaben. Hoffe du kannst darauf zugreifen:
https://www.herber.de/bbs/user/76826.xls
AW: ja und nun? o.T.
30.09.2011 23:06:47
Josef

Hallo Bianca,
die Daten sehen wieder anders aus!
Teste mal.

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub bianca()
  Dim lngRow As Long, lngStart As Long, lngEnd As Long, lngIndex As Long
  Dim rngD As Range
  
  With ActiveSheet
    lngLast = .Cells(.Rows.Count, 1).End(xlUp).Row
    Do
      lngRow = lngRow + 1
      If .Cells(lngRow, 1) <> "" Then
        lngStart = lngRow + 1
        lngEnd = Application.Min(lngLast, .Cells(lngRow, 1).End(xlDown).Row - 1)
        For lngIndex = lngStart To lngEnd Step 2
          .Range(.Cells(lngIndex, 2), .Cells(lngIndex, 3)).Cut .Cells(lngIndex - 1, 4)
          If rngD Is Nothing Then
            Set rngD = .Rows(lngIndex)
          Else
            Set rngD = Union(rngD, .Rows(lngIndex))
          End If
        Next
        lngRow = lngEnd
      End If
    Loop While lngRow < lngLast
  End With
  
  If Not rngD Is Nothing Then rngD.Delete
End Sub



« Gruß Sepp »

Anzeige
Falscher Code!
30.09.2011 23:09:23
Josef

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub bianca()
  Dim lngRow As Long, lngStart As Long, lngLast As Long, lngEnd As Long, lngIndex As Long
  Dim rngD As Range
  
  With ActiveSheet
    lngLast = .Cells(.Rows.Count, 1).End(xlUp).Row
    Do
      lngRow = lngRow + 1
      If .Cells(lngRow, 1) <> "" Then
        lngStart = lngRow + 1
        lngEnd = Application.Min(lngLast, .Cells(lngRow, 1).End(xlDown).Row - 1)
        For lngIndex = lngStart To lngEnd Step 2
          .Range(.Cells(lngIndex, 2), .Cells(lngIndex, 3)).Cut .Cells(lngIndex - 1, 4)
          If rngD Is Nothing Then
            Set rngD = .Rows(lngIndex)
          Else
            Set rngD = Union(rngD, .Rows(lngIndex))
          End If
        Next
        lngRow = lngEnd
      End If
    Loop While lngRow < lngLast
  End With
  
  If Not rngD Is Nothing Then rngD.Delete
End Sub


« Gruß Sepp »

Anzeige
AW: ja und nun? o.T.
30.09.2011 23:15:10
bkstgt
PERFEKT !!! Das passt! Super! Danke!
absolute KLASSE
01.10.2011 01:38:22
wf
12 mal dieser Betrteff:
AW: ja und nun? o.T.
und jeder weiß Bescheid
WF
Betreff ist egal, Sepps Lösung ist wieder mal Top
01.10.2011 18:54:45
Franz
Betreff egal? Dir viell, uns nicht! Wir haben ...
01.10.2011 20:07:21
Luc:-?
…dann näml keine Lust, uns so etwas überhpt anzusehen!
Luc :-?
Luc :-? Und das ist mir wiederrum
02.10.2011 11:22:02
Franz
scheiss egal. Man sieht ja, das Du Dir die Beiträge doch anschaust, sonst hättest Du Deinen Senf nicht dazu getan.
Üb Du lieber fleissig, damit Du hier auch endlich mal jemand richtig helfen kannst. Du hast nur leere Sprüche.
AW: Luc :-? Und das ist mir wiederrum
02.10.2011 19:04:39
Reinhard
Hallo Franz,
blick grad nicht durch, bist du bkstgt? Glaub nicht.
Wenn dem so ist, warum mischst du dich ein?
WF hat kritisiert daß die Betreffs nichtssagend sind, was ja wohl auch so ist.
Ergo hat WF einen Mißstand kritisiert.
Luc hat dann gesagt daß "wir" keinen bock haben um uns in eine lange Beitragsfolge einzulesen mit nichtsaggenden Betreffs.
Auch nichts dagegen zusagen.
Jetzt kommst du mit persönlichen Angriffen gegen Luc.
Hast du irgendwas persönliches mit Luc oder WF?
Mir bist du hier nicht aufgefallen daß du hier mit "vollen" Sprüchen helfen würdest.
Mir fällt irgendwie ein "Die aus dem Dunklen sieht man nicht..."
Sorry für meinen Irrtum wenn du hier Helfer bist.
Gruß
Reinhard
Hi, Reinhard! Kein Irrtum, fällt unter ferner ...
02.10.2011 23:41:27
Luc:-?
…liefen, kein echter Helfer. Hat natürl keine Ahnung davon, wer wem hier schon wie geholfen hat, meint aber trotzdem, bei Streit, sich bedingungslos einer Seite anschließen zu können/müssen. Also kein Macher, sondern echter Mitläufer. Solche Typen sind mir keine weitere persönl Zeile wert. Wenn der wüsste, wie falsch er mit seiner von einem gewissen Tino übernommenen Meinung liegt, würde er hier wohl nichts mehr von sich hören lassen. Aber der liest ja nicht mal Aktuelles ausreichend, geschweige denn, sucht im Archiv. Im Grunde genommen erfüllt er mit „Beiträgen” dieser Art die Troll-Kriterien.
Gruß + schöFeiTa, Luc :-?
AW: Luc :-? Und das ist mir wiederrum
08.10.2011 13:40:10
bkstgt
Hallo Reinhard, das war ich nicht, bin erst heute wieder im Forum. Gruß bkstgt

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige