Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Code vereinfachung

Forumthread: VBA Code vereinfachung

VBA Code vereinfachung
09.04.2017 11:11:17
Lars

Hallo liebe excelprofis.
ich hab da was wobei ich hilfe brauche, ich bekomme den code einfach nicht weiter eingekürzt. bin noch nicht so gut in vba.

Sub Rechnung()
If Sheets("Kunden").Range("G2") = "Rechnung" Then
Sheets("Re_monat").Range("$G$2") = 1001
Sheets("Re_monat").Range("B57") = "Zahlbar innerhalb von 10 Tagen, ohne Abzug."
Sheets("Re_monat").Range("B58") = "Bei Überweisung bitte Rechnungsnummer angeben."
Else
Sheets("Re_monat").Range("$G$2") = ""
End If
If Sheets("Kunden").Range("G3") = "Rechnung" Then
Sheets("Re_monat").Range("$G$60") = 1002
Sheets("Re_monat").Range("B115") = "Zahlbar innerhalb von 10 Tagen, ohne Abzug."
Sheets("Re_monat").Range("B116") = "Bei Überweisung bitte Rechnungsnummer angeben."
Else
Sheets("Re_monat").Range("$G$60") = ""
End If
If Sheets("Kunden").Range("G4") = "Rechnung" Then
Sheets("Re_monat").Range("$G$118") = 1003
Sheets("Re_monat").Range("B173") = "Zahlbar innerhalb von 10 Tagen, ohne Abzug."
Sheets("Re_monat").Range("B174") = "Bei Überweisung bitte Rechnungsnummer angeben."
Else
Sheets("Re_monat").Range("$G$118") = ""
End If
If Sheets("Kunden").Range("G5") = "Rechnung" Then
Sheets("Re_monat").Range("$G$176") = 1004
Sheets("Re_monat").Range("B231") = "Zahlbar innerhalb von 10 Tagen, ohne Abzug."
Sheets("Re_monat").Range("B232") = "Bei Überweisung bitte Rechnungsnummer angeben."
Else
Sheets("Re_monat").Range("$G$176") = ""
End If
End Sub

jetzt schonmal vielen dank für eure antworten

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Teste mal:
09.04.2017 13:05:32
RPP63
Moin!
Sub Rechnung()
Dim i#
For i = 0 To 4
   If Sheets("Kunden").Cells(i + 2, "G") = "Rechnung" Then
      With Sheets("Re_Monat")
         .Cells(58 * i + 2, "G") = 1001 + i
         .Cells(58 * i + 57, "B") = "Zahlbar innerhalb von 10 Tagen, ohne Abzug."
         .Cells(58 * i + 58, "B") = "Bei Überweisung bitte Rechnungsnummer angeben."
      End With
   Else
      Sheets("Re_Monat").Cells(58 * i + 2, "G") = ""
   End If
Next
End Sub
Gruß Ralf
Anzeige
AW: Teste mal:
09.04.2017 15:34:07
Lars
Vielen Dank Ralf, funktioniert einwandfrei. :)
kannst du mir den code vieleicht ein wenig erklären, einen Teil davon versteh ich zwar schon.
würde gerne etwas mehr mit vba arbeiten, leider versteh ich manche zusammenhänge noch nicht so gut.
Hat nicht viel mit VBA zu tun …
09.04.2017 18:00:40
RPP63
… sondern eher mit Logik, Lars!
Du hast drei Zahlenreihen für Zeilen:
2, 3, 4, 5
2, 60, 118 , …
57, 115, 173, …
Diese habe ich mit nur einer Laufvariablen abgedeckt.
Schaue Dir den Wert der errechneten Zelladresse pro Schleifendurchgang an.
Wie gesagt: Ist eine mathematische Aufgabe, um den Code zu erstellen, so was habe ich auch nicht abrufbar, sondern muss es zunächst via Brain 2.0 ermitteln.
Gruß Ralf
Anzeige
AW: Hat nicht viel mit VBA zu tun …
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige