Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1016to1020
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

Haltepunkt

Haltepunkt
15.10.2008 13:15:00
Thomas
Hallo Forum,
habe hier vor längerer Zeit mal für eine andere Excel-Tabelle mal ein Makro bekommen was auch funktioniert hat...
Dim i As Integer, r As Integer
Sheets("Tabelle1").Range("B31:V31").Copy
With Sheets("Erfassung")
For i = 24 To 43 Step 1
If .Cells(i, 1).Value = "" Then
r = .Cells(i, 1).Row
Exit For
End If
Next i
.Range("A" & r).PasteSpecial Paste:=xlValues
End With
das Makro soll bezwecken, dass aus einer Tabelle eine Spalte kopiert wird und in einer anderen Tabelle diese Spalte eingefügt wird. Jetzt bekomme ich in der
.Range("A"&r). .... Spalte einen Haltepunkt.
Kann mir jemand sagen warum?
Danke für eure Hilfe.
Gruß Thomas

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Haltepunkt
15.10.2008 13:35:00
David
Hallo Thomas.
Jetzt bekomme ich ... einen Haltepunkt.
soll WAS bedeuten? Ist im Code ein Haltepunkt gesetzt oder kommt an dieser Stelle eine Fehlermeldung?
Wohl letzteres. Die Variable r bekommt nur einen Wert, wenn in Spalte A der jeweiligen Zeile NICHTS steht, ansonsten bleibt die Variable leer. Und ein Range("A") führt dann zu einem Fehler.
Gruß
David
AW: Haltepunkt
15.10.2008 13:51:00
Thomas
Hallo David,
Danke habe den Fehler gefunde.
Wie müsste ich denn das Makro verändern, wenn ich nicht nur die nächste Zeile anhängen will in einem festgelegten Bereich hier von A24-P43 sondern das Makro immer automatisch eine Spalte anhängen soll? Bis unendlich...
Für ne Antwort wäre ich dankbar.
LG Thomas
Anzeige
AW: Haltepunkt
15.10.2008 14:10:57
David
das Makro soll bezwecken, dass aus einer Tabelle eine Spalte kopiert wird und in einer anderen Tabelle diese Spalte eingefügt wird
Das Makro fügt aber keine Spalte ein, sondern eine (Teil-)Zeile bzw. einen definierten Bereich.
...sondern das Makro immer automatisch eine Spalte anhängen soll?
WO soll WAS angehängt werden. Definiere erst mal, wie der Quellbereich aussieht und wohin dieser dann in welcher Form soll.
Bis unendlich
In Excel ist nichts unendlich, insbesondere nicht die Spalten (max = 256).
Bitte stelle deine Frage noch einmal präzise und gib uns alle notwendigen Informationen.
Gruß
David
Anzeige
AW: Haltepunkt
15.10.2008 14:21:42
Thomas
Also was ich suche:
ich kopiere aus "Tabelle 1" die Spalte A31:W31
und will diese dann in "Erfassen" Spalte A24:W24 einfügen.
Sollte die Spalte A24:W24 aber schon belegt sein, dann soll das Makro diese stehen lassen und das kopierte in die Spalte A25:W25 schreiben und immer so weiter......
Weiss jetzt jemand was ich suche und kann mir helfen?
Und mal schon wieder Danke für die schnelle Hilfe.
MfG Thomas
AW: Haltepunkt
15.10.2008 14:44:00
David
Hallo Thomas,
ganz rudimentär:

Sub test()
Dim zeile As Double
zeile = Worksheets("Erfassung").Range("A65000").End(xlUp).Row
Worksheets("Tabelle1").Range("A31:W31").Copy Destination:=Worksheets("Erfassung").Range("A" &  _
zeile + 1)
End Sub


Du solltest übrigens deine Syntax dringend überarbeiten:


Zeile   = 31:31
Spalte  = A:B
Bereich = A31:B31


Dies durcheinanderzuwürfeln ist nicht hilfreich.
Gruß
David

Anzeige
AW: Haltepunkt
15.10.2008 15:03:00
Thomas

Die Datei https://www.herber.de/bbs/user/56036.xls wurde aus Datenschutzgründen gelöscht


Hallo David,
ich hab mal meine Tabellen hochgeladen, vielleicht kannst du mir das Makro ja so einfügen, dass es immer das macht was es soll ich bin anscheinend nicht in de Lage dazu...
DANKE
AW: Haltepunkt
15.10.2008 15:22:55
David
Hallo Thomas,
versuch es mal damit:

Sub kopieren()
Worksheets("Tabelle1").Range("A31:W31").Copy
With Worksheets("Erfassung")
zeile = Range("B65535").End(xlUp).Row
If Application.IsText(Cells(zeile, 1)) Then zeile = zeile + 2 Else zeile = zeile + 1
Cells(zeile, 1).PasteSpecial Paste:=xlPasteValues
Cells(zeile, 1) = zeile - 23  'Einfügen lfd. Nr. - ggf. löschen
End With
End Sub


Die Numerierung der laufenden Zeile habe ich nur testhalber eingefügt. Die "If-Then"-Anweisung ist notwendig, da du die Überschriftszeilen mit verbundenen Zellen versehen hast und deswegen die Abfrage der letzten benutzten Zeile um 1 abweicht.
Grundsätzlich stellt sich mir noch die Frage nach dem Sinn der ganzen Aktion. Wenn du immer nur diese eine Zeile per kopierst, warum dann nicht per Hand?
Gruß
David

Anzeige
AW: Haltepunkt
15.10.2008 15:42:00
Thomas
Funktioniert soweit,
nur ich füge es in Tabelle 1 an und nicht in der Tabelle "Erfassen" eine Idee warum?
Der Sinn ist folgender...
Habe eine Baustelle mit ca. 15000m³ Beton das heisst: 15000 : 7,5m³/LKW=2000 Lieferscheine mit verschiedenen Sorten die ich am Ende per Autofilter nach allem was das Herz begeht sortieren werden sollen...
Daher möchte ich aus Bequämlichkeit eine fortlaufende Tabelle....
Danke für deine Hilfe.
AW: Haltepunkt
15.10.2008 15:51:00
David
k.A. bei mir geht das wie gewünscht.
Zur Sicherheit:
https://www.herber.de/bbs/user/56039.xls
Da du doch aber als Quelle immer nur einen einzelnen bestimmten Bereich hast, musst du den doch ständig in diese Tabelle reinkopieren, um dann anschließend das Makro auszuführen?!
Gruß
DAvid
Anzeige
AW: Haltepunkt
15.10.2008 16:08:04
Thomas
https://www.herber.de/bbs/user/56040.xls
Das ist unfair! bei mir geht das nicht...
Hab doch unterschiedliche Lieferdaten und Lieferscheinnummern dadurch muss ich das doch immer neu angeben.
Gruß Thomas
AW: Haltepunkt
15.10.2008 16:19:00
David
dann so:

Worksheets("Tabelle1").Range("A31:x31").Copy
zeile = Worksheets("Erfassung").Range("B65535").End(xlUp).Row
If Application.IsText(Worksheets("Erfassung").Cells(zeile, 1)) Then zeile = zeile + 2 Else  _
zeile = zeile + 1
Worksheets("Erfassung").Cells(zeile, 1).PasteSpecial Paste:=xlPasteValues


keine Ahnung, warum er das "With" ignoriert, aber wenn du das Sheet immer explizit angibst, funzt es. Wahrscheinlich ist das durch den Rest-Code bedingt, den ich nicht weiter analysiert habe. So gut ist mein VBA auch nicht.
Gruß
David

Anzeige
AW: Haltepunkt
16.10.2008 07:31:00
Thomas
Danke David, jetzt geht alles soweit.
Immerhin ist dein VBA 100x besser als meins :-)
Gruß Thomas
AW: Haltepunkt
15.10.2008 13:51:44
Thomas
Hallo David,
Danke habe den Fehler gefunde.
Wie müsste ich denn das Makro verändern, wenn ich nicht nur die nächste Zeile anhängen will in einem festgelegten Bereich hier von A24-P43 sondern das Makro immer automatisch eine Spalte anhängen soll? Bis unendlich...
Für ne Antwort wäre ich dankbar.
LG Thomas

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige