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

Bedingung einfügen (VBA)

Bedingung einfügen (VBA)
19.08.2018 11:08:36
Lorenz
Hallo, werte Helfende!
Mit untenstehenden Code (der Großteils aus diesem Forum stammt)wird erfolgreich in jede zweite Zelle der angegebene Wert eingesetzt. Jetzt zu meiner Bitte:
Wie muß der Code umgestaltet werden, sodaß der Eintrag erst stattfindet wenn in Zeile 1,2 u.5 kein Eintrag vorhanden ist?
Private Sub cmdUrlaub_Click()
Dim Bereich As String, arrBereich As String, i As Long
Dim strBereich As String, iI As Integer
Dim Us$(0, 1 To 50)
With Selection.Areas
For iI = 1 To .Count
strBereich = strBereich & .Item(iI).Address(False, False) & ", "
Next iI
End With
strBereich = Left$(strBereich, Len(strBereich) - 2)
Range(strBereich) = ""
For i = 1 To 50
If (i And 1) = 1 Then Us(0, i) = "U"
Next
For i = 1 To Selection.Areas.Count
Bereich = Bereich & Selection.Areas(i).Address(False, False) & ", "
Selection.Areas(i) = Us
Next i
arrBereich = Left$(Bereich, Len(Bereich) - 2)
With Range(arrBereich)
For i = 1 To Selection.Areas.Count
Bereich = Bereich & Selection.Areas(i).Address(False, False) & ", "
Selection.Areas(i) = Us
wksWert.Range(Selection.Areas(i).Address) = Us
Next i
End With
End Sub
Güße Lorenz

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

Betreff
Datum
Anwender
Anzeige
AW: Bedingung einfügen (VBA)
19.08.2018 11:55:30
Matthias
Moin!
Füge nach der letzten Zeile mit dim die hier mal ein:
 If Application.WorksheetFunction.Count(Tabelle1.Rows(1)) + _
Application.WorksheetFunction.Count(Tabelle1.Rows(2)) + _
Application.WorksheetFunction.Count(Tabelle1.Rows(5)) > 0 Then Exit Sub
Damit zählt er die leeren Zeilen in Zeile 1, 2 und 5. Wenn die Summe > 0 ist gibt es eine befüllte Zeile und die Sub endet.
VG
AW: Bedingung einfügen (VBA)
19.08.2018 12:23:06
Lorenz
Hallo Matthias!
Leider nicht so. Vielleicht anders erklärt: Wenn jeweils innerhalb der Markierung wo in jeder zweiten Zelle ein "U" eingetragen wird, soll dieses nur geschehen wenn in der jeweiligen Spalte auch die Zeile 1, 2 u 5 leer ist. ZB.: A19:K19 ist markiert, so wird mit dem Code jeweils in A19, C19, E19, G19, I19, K19 eingetragen. ist aber in A1 o. G1 o. G5 o. K2 ein Eintrag vorhanden dann soll der Eintrag nur in " C19, E19, I19" stattfinden. Ist es so verständlicher erklärt?
Grüsse Lorenz
Anzeige
AW: Bedingung einfügen (VBA)
23.08.2018 17:04:06
Matthias
Moin!
Dann ändere die Schleife in welcher du Us beschreibst mal so.
For i = 1 To 50
If (i And 1) = 1 And _
Cells(1, i) = "" And _
Cells(2, i) = "" And _
Cells(5, i) = "" Then Us(0, i) = "U"
Next
Damit werden pro Spalte die Zeilen 1,2 und 5 geprüft und nur wenn die leer sind erfolgt der Eintrag.
Aber schaue dir nochmal deinen Code an. Du schreibst an 3 Stellen Us in das Blatt und das in den jewels selben Bereich (zumindest deute ich das so). Zudem bräuchtest du dir den Bereich nicht nochmal zusammen zustellen. Bereich und strBereich sollten identsich sein. Ist ja auch der selbe Code. das könnte man auch einkürzen.
VG
Anzeige
AW: Bedingung einfügen (VBA)
24.08.2018 17:43:32
Lorenz
Hallo Matthias
Danke für die Tipps.
Das "einkürzen ist in meinem Fall nicht brauchbar, da wo jede zweite Zelle einen Eintrag bekommt, die Formatierungen hingegen in jeder Zelle stattfinden soll. Habe deinen Vorschlag folgendermaßen eingepflegt
iNein = ActiveCell.Column
For i = 1 To 50
If (i And 1) = 1 And Cells(1, iNein) = "" And Cells(2, iNein) = "" And Cells(3, iNein) = "" Then Us(0, i) = "U"
iNein = iNein + Selection.Areas.Count
Next
vielen, vielen Dank für dein Bemühen
Grüsse Lorenz
Next

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige