Sub VerweisAlsMakro()
'Variablendeklaration
'====================
Dim lngQR As Long, lngQC As Long
Dim lngVR As Long, lngVLR As Long
Dim lngQLR As Long, lngQLC As Long
Dim varScratchR As Variant, varScratchC As Variant
Dim shQuel As Worksheet, shVerw As Worksheet
Set shQuel = ThisWorkbook.Sheets("Tabelle1") 'Tabelle1 als Quelle
Set shVerw = ThisWorkbook.Sheets("Tabelle2") 'Tabelle2 als Verweisliste
'Werte im Ergebnisbereich löschen
shQuel.Range("B2:" & shQuel.Cells.SpecialCells(xlCellTypeLastCell).Address).Clear
lngQLR = shQuel.Cells(Rows.Count, 1).End(xlUp).Row 'letzte Reihe in der Quelle
lngQLC = shQuel.Cells(1, Columns.Count).End(xlToLeft).Column 'letzte Spalte in Quelle
lngVLR = shVerw.Cells(Rows.Count, 1).End(xlUp).Row 'letzte Reihe in Verweis
For lngQR = 2 To lngQLR Step 1 'für jede QuellReihe bis Letzte
For lngQC = 2 To lngQLC Step 1 'für jede QuellSpalte bis Letzte
varScratchR = shQuel.Cells(lngQR, 1).Value 'Wert A-Reihe zwischenspeichern
varScratchC = shQuel.Cells(1, lngQC).Value 'Wert Spalte-1 zwischenspeichern
For lngVR = 1 To lngVLR Step 1 'für jede Reihe in Verweis
If shVerw.Cells(lngVR, 1).Value = varScratchR And _
shVerw.Cells(lngVR, 2).Value = varScratchC Then 'Wenn Übereinstimmung
shQuel.Cells(lngQR, lngQC).Value = shVerw.Cells(lngVR, 3).Value 'Ergebnis eintragen
End If
Next
Next
Next
End SubSub VerweisAlsMakro()
'Variablendeklaration
'====================
Dim lngQR As Long, lngQC As Long
Dim lngVR As Long, lngVLR As Long
Dim lngQLR As Long, lngQLC As Long
Dim varScratchR As Variant, varScratchC As Variant
Dim shQuel As Worksheet, shVerw As Worksheet
Set shQuel = ThisWorkbook.Sheets("Tabelle1") 'Tabelle1 als Quelle
Set shVerw = ThisWorkbook.Sheets("Tabelle2") 'Tabelle2 als Verweisliste
lngQLR = shQuel.Cells(Rows.Count, 1).End(xlUp).Row 'letzte Reihe in der Quelle
lngVLR = shVerw.Cells(Rows.Count, 1).End(xlUp).Row 'letzte Reihe in Verweis
'letzte Quellspalte ermitteln
If shQuel.Cells(1, 2).Offset(0, 1).Value = "" Then 'Wenn Zelle C1 leer
lngQLC = 2 'nur SpalteB auswerten
Else 'andernfalls
lngQLC = shQuel.Cells(1, 2).End(xlToRight).Column 'letzte fortlaufende Zelle
End If 'Ende Wenn
shQuel.Range("B2", Cells(Rows.Count, lngQLC)).ClearContents 'Werte im Ergebnisbereich löschen
For lngQR = 2 To lngQLR Step 1 'für jede QuellReihe bis Letzte
For lngQC = 2 To lngQLC Step 1 'für jede QuellSpalte bis Letzte
varScratchR = shQuel.Cells(lngQR, 1).Value 'Wert A-Reihe zwischenspeichern
varScratchC = shQuel.Cells(1, lngQC).Value 'Wert Spalte-1 zwischenspeichern
For lngVR = 1 To lngVLR Step 1 'für jede Reihe in Verweis
If shVerw.Cells(lngVR, 1).Value = varScratchR And _
shVerw.Cells(lngVR, 2).Value = varScratchC Then 'Wenn Übereinstimmung
shQuel.Cells(lngQR, lngQC).Value = shVerw.Cells(lngVR, 3).Value 'Ergebnis eintragen
End If
Next
Next
Next
End Sub
Excel-Formel ändern ?????!!!!!!
enita 05.09.2008 - 49 Hits - 3 Antworten
| Makro: Ergebnis einer Rechnung PLUS Formel in Zelle ausgeben |
rapperzahn 28.10.2008 - 32 Hits - 8 Antworten
Per Makro Formel einfügen in Tabellenblätter?
Tutto_Retro 09.01.2009 - 137 Hits - 1 Antwort
Makro ändern ??
nok106 28.03.2009 - 239 Hits - 6 Antworten
Formel/Makro für erweiterbare Tabelle
Elbryan 08.07.2009 - 243 Hits - 10 Antworten