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

Auf Zellen relativ zu def. Bereichen verweisen

Auf Zellen relativ zu def. Bereichen verweisen
Didi
Hallo Zusammen,
ich habe ein Problem mit der Programmierung von SVERWEISen in meinem Makro. Ich habe eine Tabelle (als eine Art Zusammenfassung), die sich aus anderen Tabellenblaettern ueber SVERWEISe die Daten per Makro holt.
Worksheets("NEW").Range("L5").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],BOM!C2:C8,2,FALSE)"
Worksheets("NEW").Range("L5").Copy 'Part Name
Worksheets("NEW").Range("L6:L500").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Worksheets("NEW").Range("M5").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],BOM!C2:C8,3,FALSE)"
Worksheets("NEW").Range("M5").Copy 'Explosion Level
Worksheets("NEW").Range("M6:M500").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Das ist mal mein Makro exemplarisch fuer zwei Spalten im Zusammenfassungsblatt. Leider kann ich nicht wirklich programmieren und habe mich daher am Makrorecorder orientiert.
Der Code laeuft auch soweit gut - allerdings wuerde ich das jetzt gerne allgemeiner gestalten.
Es sollte eben moeglich sein im Zusammenfassungsblatt neue Spalten als auch Zeilen einzufuegen, ohne das dann gleich die Werte in falsche Spalten oder Zeilen geschrieben werden.
1. Wie kann ich auf Zellen zugreifen, die relativ zu definierten Zellen liegen?
Dazu habe ich der Namenszeile den ganzen Spalten Namen z.B. "L4"= "Part_Name" gegeben und die Zelle "L5" ist die erste Zelle, in der in Spalte "L" der SVERWEIS eingetragen wird. Dies sollte immer die erste Zelle unter der Zelle "Part_Name" sein.
2. Wie kann ich die SVERWEIS-Formel mit den Bereichen schreiben?
Auch in der Formel beim SVERWEIS muss sich was aendern, da das RC[-1] mir nicht allgemein genug ist, da sich auch neue Spalten zwischen das Suchkriterium und die Spalte "L" schieben koennen.
(Das mit den anderen Tabellenblaettern (im Beispiel "BOM") ist okay so, da diese immer gleich aussehen.)
3. Wie kann ich auf Bereiche zugreifen, die relativ zu definierten Zellen liegen?
Anschliessend werden die Formeln halt nach unten kopiert...hier sollte die jeweilige Spalte dann eben auch zur entsprechenden Ueberschrift passen. Erfuellt seinen Zweck - aber hier gibts bestimmt auch bessere Loesungen.
Danke vielmals fuer die Rueckmeldungen und fuer jede Hilfe. Ich komme da momentan einfach nicht weiter.
Viele Gruesse
Didi

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Auf Zellen relativ zu def. Bereichen verweisen
19.03.2012 22:51:22
fcs
Hallo Didi,
1. Wie kann ich auf Zellen zugreifen, die relativ zu definierten Zellen liegen?
Mit der VBA-Methode Offset(Zeile,Speile) kann man einen Zellbereich relativ zu einem vorgegebenen Bereich ansprechen.
2. Wie kann ich die SVERWEIS-Formel mit den Bereichen schreiben?
Wenn das Suchkriterium immer in Spalte K steht, dann kannst du in der Formel für die Spalte mit einem absoluten Bezug arbeiten.
in der VBA-Anweisung steht dann statt RC[-1] der Ausdruck RC11.
Wenn es extrem flexibel sein müßte, dann könnte man im Blatt "NEW" in Zeile 4 nach dem Spaltentitel für das Suchkriterium suchen und so die Spalten-Nummer ermitteln.
3. Wie kann ich auf Bereiche zugreifen, die relativ zu definierten Zellen liegen?
Wiederholung von Frage 1!
Den Bereich, der mit Formeln ausgefüllt werden soll kann man auch so ermitteln, dass Formeln bis zur letzten Zeille mit einem Suchkriterium in Spalte K eingeragen werden.
Alternativ zu Bereichsnamen als Startpunkt für das einfügen der Formeln könnte man auch die Titel der Spalten in Zeile 4 ab der Spalte L als Kriterium für die einzufügenden SVERWEIS-Formel verwenden.
Gruß
Franz
Beispiel-Makros für beide Varianten:
Sub SVERWEIS_Formeln_erzeugen()
'Formeln auf Basis von Bereichsnamen eintragen
Dim strName As String, SuchBereich As String, Spalte As Long
Dim FormelZeilen As Long, SpKriterium As Long
With Worksheets("NEW")
strName = "Part_Name"
'Spalte mit Bezeichnung des Such-Kriteriums ermitteln
'    SpKriterium = .Rows(.Range(strName).Row).Find(what:="Part-No", LookIn:=xlValues, _
lookat:=xlWhole).Column
SpKriterium = 11 'Spalte K = Spalte mit Suchkriterium in Blatt "NEW"
'Anzahl der Zeilen ermitteln, in die Formeln eingetragen werden sollen
FormelZeilen = .Cells(.Rows.Count, SpKriterium).End(xlUp).Row
If FormelZeilen  0 Then
With .Range(.Cells(ZeileTitel + 1, SpalteTitel), _
.Cells(ZeileTitel + FormelZeilen, SpalteTitel))
.FormulaR1C1 = "=VLOOKUP(RC" & SpKriterium & "," & SuchBereich & "," & Spalte & ", _
FALSE)"
End With
End If
Next SpalteTitel
End With
End Sub

Anzeige
AW: Auf Zellen relativ zu def. Bereichen verweisen
22.03.2012 04:52:16
Didi
Hallo fcs!
Vielen Dank fuer deine Loesung! Funktioniert einwandfrei! Super!
Hast mir echt sehr geholfen.
Nur nochmal zu was anderem was mir aufgefallen ist: Warum wird die Datei nun so gross vom Speicherplatz her? Sie ist jetzt um den Faktor 6 groesser.
Viele Gruesse
Didi
AW: Auf Zellen relativ zu def. Bereichen verweisen
22.03.2012 06:07:25
Didi
Fehler gefunden. Hab die VLOOKUPs noch drin gehabt.

8 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige