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

VBA - Mehrere Spalten ausfüllen

VBA - Mehrere Spalten ausfüllen
17.01.2007 13:36:47
Timonski
Kenntnisse:
Excel gut VBA geht
Servus
ne frage zu VBA ich will über eine Abfrage mehrere Spalten ausfüllen

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
r = Target.Row
if cells(r,1) = "HALLO" Then Cells(r,2) = "WIE" AND Cells(r,3) = "GEHT" AND Cells r,4) = "DAS?"
Else: cells(r,2) = "" AND cells(r,3) = "" AND Cells(r,4) = ""
End If
End Sub

Danke schon mal für eure Antworten...
Timonski

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Mehrere Spalten ausfüllen
17.01.2007 13:45:22
ingUR
Hallo, Timonski,
ein wenig kommt es auch auf die Art an, in welcher Form (Variablen(feld), ...) vorligen.
Eine direkte Zuweisung könnte so ausehen:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim r as long, c as integer
r = Target.Row
if cells(r,1) = "HALLO" Then
Cells(r,2) = "WIE"
Cells(r,3) = "GEHT"
Cells (r,4) = "DAS?"
Else
for c=2 to 4
cells(r,c) = ""
next c
End If
End Sub

Gruß,
Uwe
AW: VBA - Mehrere Spalten ausfüllen
17.01.2007 13:51:07
Timonski
Servus
vielen danke aber...
ich muß da über 20 Abfragen machen...
also
if cells(r,1) = "Hallo" Then ....
If Cells(r,1) = "Servus" Then ...
If Cells(r,1) = "Tag" Then...
.
.
.
.
also eigentlich im normalen Excel ein SVERWEIS
danke...
Anzeige
AW: VBA - Mehrere Spalten ausfüllen
17.01.2007 16:26:43
ingUR
Hallo, Timonski,
bei zwanzig Möglichkeiten die Du zu untersuchen hast, bietet sich bereits das Arbeiten mit einem Feld an:

'Ref.V    Wert1   Wert2     Wert3 ...
'-----------------------------------Datensätze
'"Hallo",  "Wie"   "geht"    "das?"
'"Servus", "Sei"   "gegrüßt" "!"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim r As Long, c As Integer
Dim idx As Integer, i As Integer, Rec As Variant
r = Target.Row
Rec = Array(Array("Hallo", "Wie", "geht", "das?"), _
Array("Servus", "Sei", "gegrüßt", "!"), _
Array("Tag", "Teil", "der", "Woche"))
idx = -1
'suche Eintrag an der ersten Stelle eines jeden Datensatzes
Do
i = i + 1
If Rec(i)(1) = Target.Text Then
idx = i
End If
Loop Until i = UBound(Rec)
If idx > 0 Then
'schreibe alle Datensatzfelder, beginnend ab Element 2
'und soviel, wie durch die Arraygrenze bestimmt ist
'maximale Anzahl der Einträge des betrachteten Datensatzes
For c = 2 To UBound(Rec(2))
Cells(r, c) = Rec(idx)(c)
Next c
Else
For c = 2 To 4
Cells(r, c) = ""
Next c
End If
End Sub
Allerdings sind hier bereits ein paar besonderheiten im Umgang mit Varianten und Arrays zu beachten, die eigentlich nicht zu den ersten Übungen gehören sollten.
Darüber gibt es noch weitere Formen, die sich nach der Art der Datenbereitstellung richten (sie meinen ersten Beitrag). Insbesonder ist natürlich zu überlegen, ob hier jedes SelectionChange zur Abarbeitung der inneren Schleife der Routine führen muß oder man nur bestimmte Zellenveränderungen beobachtet.
Gruß,
Uwe
Anzeige
AW: VBA - Mehrere Spalten ausfüllen
17.01.2007 17:20:29
Timonski
Servus
danke... das ist schon hardcore... aber ich werd mir das mal in einer ruhigen minute äh stunden reinziehen... hab es jetzt mit der Methode ersten gemacht...
mal ne frage er ändert es nur wenn ich auf das Feld gehe...
gibt es auch eine Einstellung das er die daten Aktualisiert wenn ich das Tabellenblatt aktivier?
hab in Tabelle1 die Daten und in Tabelle2 soll er dann einen Autofilter setzen und die Tabelle füllen mit dem VBA von oben...
das mit dem Filter setzten hab ich hinbekommen...
aber das er mir dann nur die daten aktualisiert die er filtern soll das nicht... :-(
Anzeige
AW: VBA - Mehrere Spalten ausfüllen
17.01.2007 18:53:28
ingUR
Hallo, Timonski,
Deine Datenquelle ist also ein gefilter Tabellenbereich. Damit gestaltet sich die Lösung der Aufgabe anders. Hierzu empfehle ich in der Forumshilfe einmal die Beiträge zum Filter aufzulisten und dort nachzuforschen, da ich selbst nicht so schnell daran komme, hier ein Grundgerüst Dir vorzuschlagen.
Wenn jedoch weitere Fragen zum Thema anstehen, wäre es für den Antwortenden wohl hilfreich, wenn Du Dein Problem so eingrenzt, das gezielt Lösungsvorschläge angeboten werden können, denn es erspart Antworten, die nicht zielführend sind. Ebenso wäre eine Beispielmappe immer von Vorteil.
Gruß,
Uwe
Anzeige

329 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige