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

wenn Funktion in VBA Code

wenn Funktion in VBA Code
04.11.2014 09:40:40
ANAnas
Hallo Gemeinde,
mir fehlt im Moment ein wenig das Verständis darüber, wie man 2 Zellen miteinander vergleicht. Desweiteren soll der String erweitert werden, wenn die beiden Zellen gleich sind.
Das sieht in etwa so aus:
0011
0012
0013
0014 - hier soll der String erweitert werden mit 0014-1
0014 - hier soll der String erweitert werden mit 0014-2
0015
0016
...
wenn die Werte nicht gleich sind, soll nichts gemacht werden.
Mit meiner wenn-funktion funktioniert es.
=WENN(UND(C4="I";W4=1;B4=B5);B4&"-1";WENN(UND(C4="I";X4=2);B4&"-2";B4))
könnt ihr mir dabei bitte helfen?
lg

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

Betreff
Datum
Anwender
Anzeige
AW: wenn Funktion in VBA Code
04.11.2014 10:49:10
Rudi
Hallo,
liest aus A2:Ax und schreibt nach B2:Bx.
Sub ananas()
Dim oDic As Object, vArr, i As Long, o
Dim oOut As Object
Set oDic = CreateObject("scripting.dictionary")
Set oOut = CreateObject("scripting.dictionary")
vArr = Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp))
For i = 1 To UBound(vArr)
oDic(vArr(i, 1)) = oDic(vArr(i, 1)) + 1
Next i
For Each o In oDic
If oDic(o) > 1 Then
For i = 1 To oDic(o)
oOut(o & "-" & Format(i, "000")) = 0
Next
Else
oOut(o) = 0
End If
Next
With Cells(2, 2).Resize(oOut.Count)
.NumberFormat = "@"
.Value = WorksheetFunction.Transpose(oOut.keys)
End With
End Sub
Gruß
Rudi

Anzeige
AW: wenn Funktion in VBA Code
04.11.2014 11:11:46
ANAnas
Hallo Rudi!
Ersteinmal vielen Dank für deine schnelle Hilfe :)
Der Ansatz ist schon nicht schlecht, jedoch nicht zu 100% korrekt...
Das Auslesen aus Spalte A funktioniert nicht ganz. Dein Quellcode schreibt fortlaufend eine Nummer in Spalte B.
Es soll an dem String eine "-01" bzw "-02" angehängt werden, wenn 2 gleiche Zeichenketten untereinander stehen. Sprich an der ersten eine "-01" und an der darunter die "-02".
LG

AW: wenn Funktion in VBA Code
04.11.2014 11:00:04
fcs
Hallo ANAnas,
nachfogend ein Makro mit entsprechender Auswertung.
Falls die Prüfung für Spalte C (3) nicht relevant ist, dann kannst du sie weglassen.
Gruß
Franz
Sub MarkierenMehrfache()
Dim wks As Worksheet, Zeile As Long, intCount As Integer
Dim strZelle As String
Dim SpalteWert As Long, spalteErgebnis As Long
Set wks = ActiveSheet
SpalteWert = 2    'Spalte B - Spalte mit zu vergleichenden Werten
spalteErgebnis = 5 'Spalte E - Spalte mit Ergebnissen - kann auch identisch SpalteWert sein.
With wks
For Zeile = 4 To .Cells(.Rows.Count, SpalteWert).End(xlUp)
strZelle = .Cells(Zeile, SpalteWert).Text
If strZelle = .Cells(Zeile + 1, SpalteWert).Text _
And .Cells(Zeile, 3).Value = "I" Then
intCount = intCount + 1
.Cells(Zeile, spalteErgebnis).Value = "'" & strZelle & "-" & Format(intCount, "0")
Else
If intCount > 0 Then
'Wert ist identisch mit vorheriger Zeile
.Cells(Zeile, spalteErgebnis).Value = "'" & _
.Cells(Zeile, SpalteWert).Text & "-" & Format(intCount + 1, "0")
Else
.Cells(Zeile, spalteErgebnis).Value = "'" & strZelle
End If
intCount = 0
End If
Next
End With
End Sub

Anzeige
AW: wenn Funktion in VBA Code
04.11.2014 11:53:28
ANAnas
Hallo Franz :)
Thats IT! Vielen lieben Dank.
you make my day

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige