Thema Datum  Von Nutzer Rating
Antwort
20.06.2017 20:01:57 in26
NotSolved
21.06.2017 19:27:39 BigBen
NotSolved
21.06.2017 19:29:25 BigBen
NotSolved
21.06.2017 19:35:13 in26
NotSolved
Rot Excel Makro: div. Befehle kombinieren
21.06.2017 20:03:47 BigBen
NotSolved
21.06.2017 20:40:23 in26
NotSolved
22.06.2017 14:08:55 BigBen
*****
Solved
22.06.2017 17:49:55 in26
Solved

Ansicht des Beitrags:
Von:
BigBen
Datum:
21.06.2017 20:03:47
Views:
585
Rating: Antwort:
  Ja
Thema:
Excel Makro: div. Befehle kombinieren

Hallo,

habe noch einen überflüssigen Befehl entdeckt:

Sub AddNewValue(wshOutSheet As Worksheet, rngMoney As Range)
    Dim rngWrite As Range
    Dim rngKreditor As Range
    Set rngWrite = Intersect(wshOutSheet.Range("A:A"), wshOutSheet.UsedRange).Offset(rowOffset:=1)
    Set rngWrite = wshOutSheet.Cells(wshOutSheet.UsedRange.Rows.Count + 1, 1)
    Set rngKreditor = rngMoney.Worksheet.Cells(rngMoney.Row, 3)
    rngWrite.Value = rngKreditor.Value
    rngWrite.Offset(ColumnOffset:=1).Value = rngKreditor.Offset(ColumnOffset:=1).Value
    rngWrite.Offset(ColumnOffset:=2).Value = rngKreditor.Offset(ColumnOffset:=3).Value
    rngWrite.Offset(ColumnOffset:=3).Value = rngMoney.Value
    rngWrite.Offset(ColumnOffset:=4).Value = rngMoney.EntireColumn.Cells(1, 1).Value
    rngWrite.Offset(ColumnOffset:=5).Value = rngMoney.EntireColumn.Cells(2, 1).Value
End Sub

In dieser sub wird die Variable rngWrite zweimal gesetzt. Der erste Befehl kann entfernt werden:

Set rngWrite = Intersect(wshOutSheet.Range("A:A"), wshOutSheet.UsedRange).Offset(rowOffset:=1)

Korrekt muss es so sein:

Sub AddNewValue(wshOutSheet As Worksheet, rngMoney As Range)
    Dim rngWrite As Range
    Dim rngKreditor As Range
    Set rngWrite = wshOutSheet.Cells(wshOutSheet.UsedRange.Rows.Count + 1, 1)
    Set rngKreditor = rngMoney.Worksheet.Cells(rngMoney.Row, 3)
    rngWrite.Value = rngKreditor.Value
    rngWrite.Offset(ColumnOffset:=1).Value = rngKreditor.Offset(ColumnOffset:=1).Value
    rngWrite.Offset(ColumnOffset:=2).Value = rngKreditor.Offset(ColumnOffset:=3).Value
    rngWrite.Offset(ColumnOffset:=3).Value = rngMoney.Value
    rngWrite.Offset(ColumnOffset:=4).Value = rngMoney.EntireColumn.Cells(1, 1).Value
    rngWrite.Offset(ColumnOffset:=5).Value = rngMoney.EntireColumn.Cells(2, 1).Value
End Sub

LG, BigBen


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
20.06.2017 20:01:57 in26
NotSolved
21.06.2017 19:27:39 BigBen
NotSolved
21.06.2017 19:29:25 BigBen
NotSolved
21.06.2017 19:35:13 in26
NotSolved
Rot Excel Makro: div. Befehle kombinieren
21.06.2017 20:03:47 BigBen
NotSolved
21.06.2017 20:40:23 in26
NotSolved
22.06.2017 14:08:55 BigBen
*****
Solved
22.06.2017 17:49:55 in26
Solved