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

Nicht spalten einfügen sondern verketten!

Nicht spalten einfügen sondern verketten!
04.08.2005 10:51:45
Klaus
Hallo zusammen,
ich bräuchte mal eure Hilfe. Ich bin was Makros angeht nicht sonderlich bewandert. Habe schon mal einen Code aufgeschnappt der meinem Problem ziemlich nahe kommt. Es soll eine Anzahl von Spalten( unterschiedlich viele) verkettet werden. Die Anzahl wird über Inputbox abgefragt. JEdoch habe ich bei dem vorliegenen Makro die Funktion Spalten einfügen. Wäre toll wenn Ihr mir helfen könntet. Die zu verkettenden Inhalte beginnen ab Spalte C und sollen in Spalte B.
Hier dsa Makro

Sub blah()
Const cistart As Integer = 4
Dim vcount As Variant
vcount = Application.InputBox("Spaltenanzahl:", Type:=1)
If vcount = False Then Exit Sub
Range(Cells(1, cistart), Cells(1, cistart + vcount - 1)).EntireColumn.Insert
End Sub

Gruß
Klaus

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nicht spalten einfügen sondern verketten!
04.08.2005 11:17:09
Ralf
Hallo Klaus,
ich nehme mal an, Du meinst mit verketten daß die Zellen verbunden werden sollen.
Ersetze in diesem Fall die Zeile
Range(Cells(1, cistart), Cells(1, cistart + vcount - 1)).EntireColumn.Insert
durch
Range(Cells(1, cistart), Cells(1, cistart + vcount - 1)).Merge
Ciao, Ralf
AW: Nicht spalten einfügen sondern verketten!
04.08.2005 11:25:51
Klaus
Hallo Ralf,
danke erstmal, aber das ist nicht was ich suche. Ich meinte wirklich verketten. Also die Inhalte ab Spalte C + x-Spalten (Eingabe durch Inputbx) sollen in Spalte B zusammengeführt werden. Also zum Bsp. in Spalte C steht 23 und in Spalte D 13 usw. Dann sollte in Spalte B 2313 stehen. Im Bestfall sollen die Spalten ab Spalte C + x-Spalten nach dem verketten gelöscht werden.
Gruß
Klaus
Anzeige
AW: Nicht spalten einfügen sondern verketten!
04.08.2005 11:37:25
Ralf
Hallo Klaus,
nichts einfacher als das. Werte aus Zelle C3 und B3 in Zelle B3 verketten:
Range("B3") = Range("C3") & " " & Range("D3") 'Hier mit einem Leerzeichen dazwischen...:-)
Ciao, Ralf
AW: Nicht spalten einfügen sondern verketten!
04.08.2005 11:37:37
Reinhard
Hi Klaus,
ungetestet:
Sub blah()
Dim sp As Integer, n As Long, nn As Integer
sp = Application.InputBox("Spaltenanzahl:", Type:=1)
If sp = "" Then Exit Sub
For n = 1 To Cells(65536, 3).End(xlUp).Row
For nn = 0 To sp - 1
Cells(n, 2) = Cells(n, 2) & Cells(n, 3 + nn)
Cells(n, 3 + nn).Clear
Next nn
Next n
End Sub
Gruß
Reinhard
Anzeige
AW: Nicht spalten einfügen sondern verketten!
04.08.2005 11:49:17
Klaus
Hi Reinhardt,
das scheint genau das zu seinen was ich suche! Allerdings, haut es nicht richtig hin
If sp = "" Then Exit Sub ...bricht ermit Laufzeitfehler "13" ab
Hab keine Idee warum. Wäre toll, wenn du da noch mal schauen würdest.
Danke Klaus
AW: Nicht spalten einfügen sondern verketten!
04.08.2005 11:49:25
Klaus
Hi Reinhardt,
das scheint genau das zu seinen was ich suche! Allerdings, haut es nicht richtig hin
If sp = "" Then Exit Sub ...bricht ermit Laufzeitfehler "13" ab
Hab keine Idee warum. Wäre toll, wenn du da noch mal schauen würdest.
Danke Klaus
If sp = 0 Then Exit Sub o.w.T.
04.08.2005 11:59:58
Reinhard
Gruß
Reinhard
Funktioniert, aber brauch noch ne Schleife
04.08.2005 12:06:28
Klaus
Danke das funktioniert schon mal wunderbar, jetzt muss er das bloß noch für mehrere Zeilen machen. Und hatte vorhin einen Denkfehler, wenn alle Daten in Spalte B sind, die Anzahl der per inputBox eingeben Spalten löscht, weil dahinter noch andere Daten kommen. Geht das?
Gruß
Klaus
Anzeige
AW: Funktioniert, aber brauch noch ne Schleife
04.08.2005 13:27:48
Reinhard
Hi Klaus,
:::jetzt muss er das bloß noch für mehrere Zeilen machen
verstehe ich nicht, der Code macht das für alle Zeilen die in Spalte C einen Wert haben, wenn da nicht C (=Spalte 3) sondern eine andere Spalte prüfen willst ob ein wert enthalten ist so musst du die 3 in Cells(65536,3) anpassen.
::::wenn alle Daten in Spalte B sind, die Anzahl der per inputBox eingeben Spalten löscht, weil dahinter noch andere Daten kommen. Geht das?
K.A. ob das geht :-) Der code löscht doch die Werte in C D E F usw. Habe das auch nihct kapiert.
Bastle eine kleine beispieldatei. Blatt1 die Rohdaten, Blatt2 wie es aussehen soll ggfs mit erläuterungen und Datei hier hochladen.
Gruß
Reinhard
Anzeige
AW: Funktioniert, aber brauch noch ne Schleife
04.08.2005 14:07:37
Klaus
Hi Reinhard,
das erste Problem hab ich gelöst, es ist so das nicht immer in Spalte C ein Wert steht.
For n = 1 To ActiveCell.SpecialCells(xlLastCell).row ----hab ich geändert jetzt funzts
aber beim zweiten Problem geht es mir nicht darum die Inhalte der Zellen löschen sondern die gesamten Spalten ab "C" die ebend zusammengefasst wurden zu entfernen.
Wenn du da noch ne Idee hättest wäre ich dir sehr dankbar.
Gruß Klaus
AW: Funktioniert, aber brauch noch ne Schleife
04.08.2005 14:51:06
Reinhard
Hi Klaus,
ohne Beipielmappe wird das nix *glaub*
Und SpecialCells(xlLastCell) kannste in die Tonne treten.
Fülle mal A1:A10 beliebig mit Werten, lass die Sub laufen, dann lösche A2:A9 und lasse die Sub nochmals laufen.

Sub tt()
MsgBox ActiveCell.SpecialCells(xlLastCell).Row
End Sub

Gruß
Reinhard
Anzeige
AW: Funktioniert, aber brauch noch ne Schleife
04.08.2005 15:44:20
Klaus
Meine blumige ungenaue Ausdrucksweise bitte ich zu entschuldigen.
Da ist die Beispieldatei. Ich hoffe jetzt wird es klarer.
Das Problem ist jetzt halt nur noch die Spalten automatisch zu löschen.
https://www.herber.de/bbs/user/25325.xls
Gruß Klaus
Beginnen die "nachrücker" immer ab Spalte G ?owT
04.08.2005 23:10:05
Reinhard
Gruß
Reinhard
Nein, sonst wäre ja die inputbox nicht notwendig!
05.08.2005 08:41:25
Klaus
Kann man nicht einfach die Eingabeinformation der inputbox auch zum löschen benutzen?
Gruß Fabian
nachtrag
04.08.2005 14:16:57
Klaus
Hinter den zusammengefassten Spalten befinden sich in jeder zeile noch andere gefüllte zeilen die an splate B rangefahren werden sollen. ich hoffe jetzt ist es nachvollziehbar

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige