Thema Datum  Von Nutzer Rating
Antwort
15.07.2009 16:13:49 mister-macro
NotSolved
15.07.2009 16:20:46 Murdoc
NotSolved
15.07.2009 16:33:09 jh
NotSolved
16.07.2009 08:23:25 mister-macro
NotSolved
16.07.2009 12:28:56 Murdoc
NotSolved
Blau Aw:Aw:Aw:Aw:Aw:steps??
17.07.2009 09:49:01 mister-macro
NotSolved
17.07.2009 12:54:02 jh
NotSolved
17.07.2009 14:00:49 Murdoc
NotSolved
21.07.2009 07:26:21 mister-macro
NotSolved

Ansicht des Beitrags:
Von:
mister-macro
Datum:
17.07.2009 09:49:01
Views:
525
Rating: Antwort:
  Ja
Thema:
Aw:Aw:Aw:Aw:Aw:steps??
Hallo Murdoc,

danke noch mal für das "hyperlink-macro"
bei diesem hier erhalte ich einen Laufzeitfehler, Anwendungs- oder objektbezogen. das heisst, das ich sheet-Namen oder irgendwelche Bezüge nicht richtig angepasst habe oder?

grundsätzlich suche ich ja nach einem loop, der mein macro immer wieder abspiel, aber immer eine zeile nach unten geht. dann den loop stoppen mit bedingung oder so.

liebe grüsse


Murdoc schrieb am 16.07.2009 12:28:56:

Hallo Marco,

ich habe mal eine kleines Beispiel zusammengestellt. Eventuell musst du es noch ein bisschen an deine Bedürfnisse anpassen. Die Anzahl der Zeilen wird dynamisch bestimmt. Es werden alle Zeilen durchlaufen und in die gewünschte Tabelle kopiert.

Sub Zellen_Kopieren()
Dim c As Range
Dim letzteZeile As Integer
Dim ZaelZeile As Integer

letzteZeile = Worksheets("Journal").Cells(Rows.Count, 2).End(xlUp).Row
'Voraussetzung es ist immer Spalte A für einen Eintrag vorhanden

ZaelZeile = 1

With Worksheets("Journal")

For Each c In .Range(Cells(1, 1), Cells(letzteZeile, 1))

If .Cells(c.Row, 2) = "Kreditoren" Then

.Range(Cells(c.Row, 2), Cells(c.Row, 6)).Copy

Worksheets("macrokreditoren").Cells(ZaelZeile, 1).PasteSpecial Paste:=xlPasteValues

ZaelZeile = ZaelZeile + 1

Application.CutCopyMode = False

End If

Next c

End With

End Sub


Gruß



mister-macro schrieb am 16.07.2009 08:23:25:

Hey Jürgen,

ja das ist wahr, es swahr ein Laufzeitfehler, eben wahrscheinlich wegen dem "Range".
Aber irgendwie funktioniert der Code nicht wie er soll. ich möchte ja im Journal die Zellen "B8 bis F8" kopieren, aber nur falls in den ersten beiden Zellen B8/C8 "Kreditoren" steht.
Da ich das für etwa 30 Zeilen machen muss, muss ich den Code immer wiederholen (+dann für div.sheets das selbe), und der nächste wäre dann IF B9/C9 = "Kreditoren" dann kopiere C9 bis F9. Die kopien sollen in "macrokreditoren" eingefühgt werden, von dort aus mache ich einen direkten Zellbezug in das Sheet Kreditoren.
Wie kann ich diesen Code vereinfachen, so das ich nicht jede Zeile anpassen muss, sondern mit einer art loop oder eben steps befehelen kann, er soll immer eine Zeile rutschen, von Zeile 8 bis 30.
momentan kopiert er mir mit den steps die zeile irgendwo hin mit unregelmässigen abständen.
danke!

der original code wäre:

Sub Kreditoren_zeile1()
For i = 2 To 3
If Worksheets("Journal").Cells(8, i) = "Kreditoren" Then
Dim Loletzte As Long
With Worksheets("macrokreditoren")
Loletzte = IIf(IsEmpty(.Range("A65536")), _
.Range("A65536").End(xlUp).Row + 1, 65536)
Sheets("Journal").Range("B8:F8").Copy
.Cells(Loletzte, 1).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End With
End If
Next
End Sub

Sub Kreditoren_zeile2()
For i = 2 To 3
If Worksheets("Journal").Cells(9, i) = "Kreditoren" Then
Dim Loletzte As Long
With Worksheets("macrokreditoren")
Loletzte = IIf(IsEmpty(.Range("A65536")), _
.Range("A65536").End(xlUp).Row + 1, 65536)
Sheets("Journal").Range("B9:F9").Copy
.Cells(Loletzte, 1).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End With
End If
Next
End Sub

etc......

---------------------------
jh schrieb am 15.07.2009 16:33:09:

Hallo,

es wäre immer sehr hilfreich, wenn du schon eine Fehlermeldung bekommst,
dass du uns verrätst was für eine und in welcher Zeile. Das Weglassen der
Laufvariablen hinter Next ist aber eher eine lässliche Sünde und in VBS sogar
normal :-)

Sheets("Journal").Range(steps, j).Copy

ist aber eine fehlerhafte Adressierung des Range-Object. Statt Range gehört
hier Cells hin.

Gruß Jürgen

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
15.07.2009 16:13:49 mister-macro
NotSolved
15.07.2009 16:20:46 Murdoc
NotSolved
15.07.2009 16:33:09 jh
NotSolved
16.07.2009 08:23:25 mister-macro
NotSolved
16.07.2009 12:28:56 Murdoc
NotSolved
Blau Aw:Aw:Aw:Aw:Aw:steps??
17.07.2009 09:49:01 mister-macro
NotSolved
17.07.2009 12:54:02 jh
NotSolved
17.07.2009 14:00:49 Murdoc
NotSolved
21.07.2009 07:26:21 mister-macro
NotSolved