Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1228to1232
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

VBA, Werte anhand Koordinaten in Tabelle schreiben

VBA, Werte anhand Koordinaten in Tabelle schreiben
Christian
Hallo, ich hab ein kleines Problemchen welches ich gerne mittels VBA lösen möchte. Leider komme ich auch nach einiger Suche nicht mal ansatzweise auf eine Lösung.
Das ganze sieht so aus:
Ich habe 2 Tabellen:
Tabelle 1 hat 3 Spalten z.b. so:
Pos | Blatt | Wert
1 | 1 | 2
2 | 1 | 3
3 | 1 | 2
4 | 1 | 4
5 | 2 | 1
6 | 2 | 5
7 | 3 | 6
8 | 3 | 7
Pos. ist also meine y-Achse und Blatt meine x-Achse.
Tabelle 2 hat dann in den Zeilen die Pos. Nr stehen und in den Spalten die Blatt Nr.
Nun soll der Wert aus Tabelle 1 entsprechend Pos und Blatt in die Tabelle an die Schnittstelle (Zelle) eingetragen werden. Pos. und Blatt sind in der Tabelle jeweils als Text formatiert.
Wie macht man sowas geschickt?

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

Betreff
Benutzer
Anzeige
AW: VBA, Werte anhand Koordinaten in Tabelle schreiben
01.09.2011 19:10:08
Josef

Hallo Christian,
wozu VBA?
Tabelle2

 ABCDEFGHI
1Pos Blatt Wert  Blatt123
2112  Pos   
3213  12  
4312  23  
5414  32  
6521  44  
7625  5 1 
8736  6 5 
9837  7  6
10     8  7

Formeln der Tabelle
ZelleFormel
G3=WENN(ISTFEHLER(VERWEIS(2;1/($A$2:$A$9&$B$2:$B$9=$F3&G$1); $C$2:$C$9)); "";VERWEIS(2;1/($A$2:$A$9&$B$2:$B$9=$F3&G$1); $C$2:$C$9))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

« Gruß Sepp »

Anzeige
Klärung der Aufgabenstellung
01.09.2011 19:35:47
Erich
Hi Christian,
warum brauchst du dafür VBA? Das geht doch recht nett mit einer Formel:
Tab1

 ABC
1PosBlattWert
2112
3213
4ccc1etwas
5414
65xx1
76xx5
873anders
9837


Tabelle2

 ABCDEF
2  Blatt   
3  3xx12
4Pos6 5  
5 7anders   
6 87   
7 1  2 
8 2  3 
9 6 5  
10 3    
11 ccc  etwas 
12 4  4 
13 5 1  

Formeln der Tabelle
ZelleFormel
C4=WENN(ISTNV(VERWEIS(2;1/('Tab1'!$A$2:$A$99&'Tab1'!$B$2:$B$99=$B4&C$3); 'Tab1'!$C$2:$C$99)); "";VERWEIS(2;1/('Tab1'!$A$2:$A$99&'Tab1'!$B$2:$B$99=$B4&C$3); 'Tab1'!$C$2:$C$99))

In Tab1 habe ich einige Dinge geändert, damit man am Beispiel mehr erkennen kann.
Z. B. suggerierte dein Beispiel, dass die Daten sortiert sind. Das sollte man aber wohl nicht generell voraussetzen.
Bei Tabelle2 hast du nicht beschrieben, wo die Daten hinsollen.
"in den Zeilen die Pos. Nr stehen und in den Spalten die Blatt Nr" reicht nicht wirklich aus.
Soll Tabelle2 so etwa wie in meinem Beispiel aussehen?
Zu "Pos. und Blatt sind in der Tabelle jeweils als Text formatiert.":
Wie die Zellen formatiert sind, ist egal. Wichtig ist allein, dass die Werte aus Tab1 in Tabelle2 gefunden werden.
(In einer Zelle, die als Text formatiert ist, kann durchaus eine Zahl stehen - und umgekehrt (bei "Excel gut" wohl nichts Neues).)
Wenn es doch VBA sein soll, gibt es etliche Möglichkeiten. Welchen Aufwand man treibt, hängt auch davon ab,
wie groß die Datenmenge ist, wie wichtig kurze Laufzeiten sind und: wer das Programm wartet.
Eine Möglichkeit:
Mittels Makroaufzeichnung eine Prozedur erstellen, die die Formel in Tabelle2 schreibt und durch Werte ersetzt.
Andere Möglichkeit:
Mit ein paar For-Schleifen Pos und Blatt suchen und dann die Daten übertragen.
Noch eine Möglichkeit:
Quelldaten auf einmal in ein Array einlesen, Ergebnisse in einem zweiten Array ermitteln, dieses Array ausgeben.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige

368 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige