Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1548to1552
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

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

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 …

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige