Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
816to820
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
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Spaltenabfrage

Spaltenabfrage
12.11.2006 14:48:31
Dirk
Hallo zusammen
komme einfach nicht weiter. Wie mach ich die Spaltenabfrage flexibel?
es soll immer in spalte AE wert1 oder wert2 eingetragen werden.
der user muß nur einen spalten wert eingeben.
z.b.
user gibt 9 ein
VBA-funktion:
gehe in Spalte AE, und schreibe AAAAAA, wenn in Spalte 9 OK steht, sonst ZZZZZZ
mit einer anderen spalten eingabe funktioniert es nicht, da mir die Abfrage funktion für die spalte fehlt.
Abfrage Eingabe
c33=WERT1? AAAAAA
c34=WERT2? ZZZZZZ
c35=Wert3? OK
c36=Spalte 9

Sub test()
Dim strWert31 As String
Dim strWert32 As String
Dim strWert33 As String
Dim strWert34 As String
strWert31 = Range("c33").Value
strWert32 = Range("c34").Value
strWert33 = Range("c35").Value
strWert34 = Range("c36").Value
Columns("AE:AE").Select
Selection.NumberFormat = "@"
Dim rng As Range
Set rng = Range("i2")
Do Until IsEmpty(rng)
If rng = strWert33 Then rng.Offset(0, strWert34 + 13) = strWert31
If rng <> strWert33 Then rng.Offset(0, strWert34 + 13) = strWert32
Set rng = rng.Offset(1, 0)
Loop
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spaltenabfrage
12.11.2006 17:02:07
fcs
Hallo Dirk,
hier eine angepasste Version, die das von dir Gewünschte umsetzen sollte. Die Spalte kann jetzt entweder als Zahl oder als Buchstabe(n) angegeben werden.
Gruss
Franz

Sub test()
Dim strWert31 As String
Dim strWert32 As String
Dim strWert33 As String
Dim varWert34 As Variant
Dim rng As Range
strWert31 = Range("c33").Value 'Eintrag bei Übereinstimmung
strWert32 = Range("c34").Value 'Eintrag bei Ungleich
strWert33 = Range("c35").Value 'Vergleichswert
varWert34 = Range("c36").Value ' zu prüfende Spalte
Columns("AE:AE").NumberFormat = "@"
Set rng = Cells(2, varWert34) 'Zelle in Zeile 2 der zu prüfenden Spalte
Do Until IsEmpty(rng)
If rng = strWert33 Then
Cells(rng.Row, 31) = strWert31
Else
Cells(rng.Row, 31) = strWert32
End If
Set rng = rng.Offset(1, 0)
Loop
End Sub

Anzeige
AW: Spaltenabfrage
12.11.2006 17:39:35
Dirk
hätte ich doch nur heute morgen mal hier angefragt *g*
es funktioniert
danke
Dirk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige