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

SVerweis über VBA

SVerweis über VBA
28.10.2007 10:41:40
Mario

Hallo Excelfreunde,
heute habe ich ein kniffliges Problem. Vielleicht kann mir jemand helfen?
Tabelle 1 (Datentabelle)
Ich habe klassisch in Spalte A2 bis A201 die Zahlen 2 – 201
und in Zeile B1 – GR1 die Zahlen 2 – 201 stehen
A B C D E F ........GR
2 3 4 5 6 ....... 201
2
3
4
5
6
.
.
201
Die Zellen dazwischen sind unregelmäßig mit Werten (Zahlen) gefüllt, dass heißt es
kommen auch Leerzellen vor!
In einem zweiten Tabellenblatt möchte ich nun das die Spalte der Tabelle 1 komplett ausgegeben wird deren Spaltennummer in A1 angezeigt wird.
z.B. steht in Tabellenblatt 2(Ausgabetabelle) in A1 eine 3 dann soll im Tabellenblatt 2 (Ausgabetabelle) in der Spalte A2:A201
die Spalte C2:C201 der Tabelle 1 (Datentabelle) ausgegeben werden.
Wenn es möglich wäre, möchte ich noch zusätzlich, dass wenn ein Feld im Tabellenblatt 1 leer ist, dass der Wert stehen bleibt, der zuvor in der Ausgabezelle stand.
z.B. in der Tabelle 2 (Ausgabetabelle) in A2 steht der Wert 100 der zuvor aus der Tabelle 1 (Datentabelle) aus Zelle C2 ausgelesen wurde. Jetzt lese ich die nächste Spalte aus und habe aber in der Zelle D2 keinen Wert, dann soll in der Tabelle 2 (Ausgabetabelle) in A2 der Wert 100 stehen bleiben.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SVerweis über VBA
28.10.2007 12:24:00
Chaos
Servus Mario,
ich bin mir nicht sicher, ob ich verstanden habe, was du willst, da du von Spalten und Werten sprichst.
Ich habe mal eine Beispieldatei angehängt, in der eine Lösung ist, wie ich es verstanden habe:
Du gibst die Suchzahl ein ("A1"), das Makro sucht in Spalte A (zeile) und Zeile 1 (Spalte) den jeweiligen Suchwert.
Bei Treffer wird der Wert der zugehörigen Zelle in A14 (geht auch nicht klar hervor, wohin das Ganze soll) ausgegeben, wenn dieser "" ist, ansonsten bleibt der Suchwert des vorherigen stehen.
https://www.herber.de/bbs/user/47196.xls
Gruß
Chaos

Anzeige
AW: SVerweis über VBA
28.10.2007 13:03:23
Mario
ich suche nicht den sverweis um einen wert der spalte zurück zu geben, sondern die gesamte spalte

AW: SVerweis über VBA
28.10.2007 13:26:34
Chaos
Servus,
was heißt die ganze Spalte? Erklär mal ganz genau, was passieren soll.
Also vieeeicht willst du es ja so, ich hab es ehrlich gesagt nicht verstanden:
Wert in A1 eingeben( welchen wert?,Spalte ?), Wert suchen in Zeile, Spalte und dann die gesamte Spalte ausgeben, in der der Wert steht.
Gruß
Chaos

AW: SVerweis über VBA
ransi
HAllo
Teste mal diesen Code:
Er muss in die Tabelle in die die Werte eingetragen weerden sollen:
' **********************************************************************
' Modul: Tabelle2 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
Dim arr
If Target.Address <> "$A$1" Then Exit Sub
Select Case Target.Value
    Case 1 To 201
        arr = Worksheets("Tabelle1").Range("A2:Gr201").Columns(Target.Value)
        'Tabellennamen anpassen
        Application.EnableEvents = False
        Range("A2:A201").Value = arr
        Application.EnableEvents = True
    Case Else
        Exit Sub
End Select
End Sub

ransi

Anzeige
AW: SVerweis über VBA
28.10.2007 13:39:07
Chaos
Servus,
ich glaub, ich bin noch nicht wach. Hab's jetzt verstanden:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim zeile As Long, spalte As Long
If Not Intersect(Target, Range("A1")) Is Nothing Then
If Target.Value > 201 Or Target.Value  "" Then
Sheets(2).Cells(zeile, 1).Value = Cells(zeile, spalte)
End If
Next zeile
End If
End Sub


Das ist eine Schleifenlösung, weil du ja bei Leerzelle, den vorhergehenden Wert übernehmen willst.
Eingabe Spalte in A1 und Ausgabe der Werte in Tabelle2.A2 bis A201, exclusive der Leerwerte.
Gruß
Chaos

Anzeige
AW: SVerweis über VBA
28.10.2007 16:28:00
Mario
Vielen Dank, es funktioniert ihr habt mir sehr geholfen!
freundlichst Mario

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige