Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
904to908
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
904to908
904to908
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Div. Blätter abfragen / Zusammenfass. separat

Div. Blätter abfragen / Zusammenfass. separat
16.09.2007 22:07:03
proxima05
Hallo,
habe eine Tabelle, die aus mehreren Blättern besteht; der Aufbau dieser Blätter ist identisch. Mit dem folgenden Code frage ich einen bestimmten Wert in Spalte G ab, der dann in ein Zusammenfassungsblatt kopiert wird.

Private Sub GetPrevValue_Click()
' Sucht letzten Wert in Spalte G und überträgt vorletzten Wert nach 'Summary'
Dim wks1 As Worksheet, wks2 As Worksheet, Spalte As Integer
Set wks1 = ActiveWorkbook.Sheets("V07")
Set wks2 = ActiveWorkbook.Sheets("Summary")
Spalte = 7 ' Spalte die im wks1 durchsucht werden soll
wks2.Range("D5").Value = wks1.Cells(65536, Spalte).End(xlUp).Offset(-1, 0).Value
End Sub


Jetzt will ich den gleichen Vorgang noch für sieben weitere Blätter (X07, Y07 etc.) wiederholen, wobei die Werte dann nach D6, D7 etc. im Zusammenfassungsblatt übertragen werden sollen.
Könnte mir jemand sagen, an welcher Stelle der Code eine Wiederholungsfunktion haben muss, damit ich ihn -wie obenstehend- nicht sieben Mal schreiben muss.
Besten Dank & Gruß
Ralph

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Div. Blätter abfragen / Zusammenfass. separat
16.09.2007 22:19:00
Josef
Hallo Ralph,
ungetestet.
Private Sub GetPrevValue_Click()
' Sucht letzten Wert in Spalte G und überträgt vorletzten Wert nach 'Summary'
Dim wks1 As Worksheet, wks2 As Worksheet, Spalte As Integer
Dim vSheets() As Variant, intC As Integer

vSheets = Array("V07", "X07", "Y07", "Z07") 'Name der zu durchsuchenden Tabellen

Spalte = 7 ' Spalte die im wks1 durchsucht werden soll

Set wks2 = ActiveWorkbook.Sheets("Summary")

For intC = 0 To UBound(vSheets)
    Set wks1 = ActiveWorkbook.Sheets(vSheets(intC))
    
    wks2.Cells(5 + intC, 4).Value = wks1.Cells(65536, Spalte).End(xlUp).Offset(-1, 0).Value
Next

Set wks1 = Nothing
Set wks2 = Nothing
End Sub

Gruß Sepp

Anzeige
AW: Div. Blätter abfragen / Zusammenfass. separat
17.09.2007 12:52:00
Proxima05
Hallo Josef,
passt soweit und funktioniert. Das mit dem Array habe ich verstanden
Noch 'ne Frage: Wie kann ich die gleiche Abfrage einbauen (ohne den Code wesentlich zu wiederholen), wenn sich der zu holende Wert in einem anderen Tabellenblatt, dort aber in Spalte 5 (E) befindet (der bisherige holt sich alles korrekt aus Spalte 7).
Hast Du da noch eine Idee?
Wie immer besten Dank und Gruß
Ralph

AW: Div. Blätter abfragen / Zusammenfass. separat
17.09.2007 21:26:45
Josef
Hallo Ralph,
ich könnte mir das in dieser Art vorstellen.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public Sub GetPrevValues(Zieltabelle As Worksheet, ZielZeile As Long, ZielSpalte As Integer, _
    QuellSpalte As Integer, Quellmappe As Workbook, ParamArray Tabellen() As Variant)


Dim intC As Integer

'### Parameter:
' ZielTabelle = Tabelle in welche die Werte geschrieben werden
' ZielZeile = Zeile in der die Eintragungen starten
' ZielSpalte = Spalte in welche geschrieben wird
' QuellSpalte = Spalte aus der gelesen wird
' QuellMappe = Mappe die ausgelesen werden soll
' Tabellen() = Name der Tabelle(n) aus welche(r)(n) gelesen werden soll


On Error Resume Next

For intC = 0 To UBound(Tabellen)
    Zieltabelle.Cells(ZielZeile + intC, ZielSpalte).Value = _
        Quellmappe.Sheets(Tabellen(intC)).Cells(65536, QuellSpalte).End(xlUp).Offset(-1, 0).Value
Next

On Error GoTo 0

End Sub


'Aufruf
Sub test()
'Zieltabelle, ZielZeile, ZielSpalte, QuellSpalte, QuellMappe, Tabellenname(n)
GetPrevValues ThisWorkbook.Sheets("Tabelle1"), 5, 4, 4, ActiveWorkbook, "Tabelle2", "Tabelle3"
End Sub

'Oder
Sub test2()
GetPrevValues Workbooks("Mappe.xls").Sheets("Summary"), 5, 4, 4, ActiveWorkbook, "V07", "W07", "X07"
End Sub

Gruß Sepp

Anzeige
Toll gemacht, Josef .... ein Superdankeschön! owT
18.09.2007 19:44:00
Proxima05
....

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige