Ich möchte wissen, was am folgenden VBA Code nicht funktioniert.
Und zwar möchte ich, dass wenn bei einer Spalte abgebrochen, oder verloren steht, dass
bei einer anderen Spalte dann 0 steht:
Sub Prozent()
Dim a As Variant
a = Workbooks(„Angebotsliste Gesamt.xlsx“).tabelle(1).colums(„M:M“).Value
If a = „abgebrochen“ Then
Columns(„K:K“).Value = „0“
ElseIf a = „verloren“ Then
Columns(„K:K“).Value = „0“
Wobei Sonst_wert z.B. der Wert aus irgendeiner anderen Spalte ist, oder auch aus Spalte M, sofern die Zellen nicht leer sind (muestte sonst auch 0 in Spalte K ergeben.
Den Befehl einfach bis zur letzten Zeile die gefüllt ist runterziehen
zunächst möchte ich Dir nahelegen, Dich mit den allgemeinen Begriffen in Tabellenkalkulationen vertraut zu machen. Dann verstehen wir uns besser
Es geht hier nicht um Formatierung ( Alles, was das Erscheinungsbild von Zellen / Bereichen verändert, wie Schriftart, Farbe, Ausrichtung usw. )
Vielmehr willst Du Werte von Zellen prüfen und verändern.
Wenn Du nun den Wert einer ganzen Spalte ausliest, passt dieser nicht in eine einzelne eindimensionale Variable - es sind viele Werte.
Du könntest die Spalte zeilenweise abfragen, um einzelne Zellen anzusprechen:
Sub Prozent()
Dim a As Variant
dim i as long
for i = 2 to 100 'beispielsweise Zeilen 2 - 100
a = Workbooks(„Angebotsliste Gesamt.xlsx“).tabelle(1).cells(i,13).Value’M=13.Spalte
If a = „abgebrochen“ Then
cells(i,11).Value = „0“ 'Spalte K = 11
ElseIf a = „verloren“ Then
cells( i, 11).Value = „0“ 'Spalte K = 11
Ich habs versucht, aber leider kommt immer die Fehlermeldung: Objekt unterstütz diese Methode nicht.
Um nochmal auf die Thematik einzugehen.
Spalte A enthätl das Ergebnis: (Auftrag, abgebrochen, verloren, zu erwarten)
Spalte B enthält die Auftragswahrscheinlichkeit (100%, 50%, 0%,…)
Ich möchte die Spalte B so formatieren, dass sobald die Spalte A verloren oder abgebrochen anzeigt 0% steht, weil sonst wird der Erwartungswert gefälscht.
Hi,
bitte antworte immer unter dem entsprechenden Beitrag auf den Du Dich beziehst!
Anscheinend holst Du die Werte aus einer anderen Tabelle, denn xlsx taugt nicht für Makros.
Sub Prozent()
Dim a As Variant
Dim i As Long
For i = 2 To 700
a = Workbooks(„Angebotsliste Gesamt.xlsx“).Sheets(„Tabelle1“).Cells(i, 13).Value
If a = „abgebrochen“ Then Cells(i, 11).Value = „0“
If a = „verloren“ Then Cells(i, 11).Value = „0“
Next i
End Sub