Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Tabelle(n) statt Tabelle100
zurück: Objektvariable oder With-Blockvariable nicht festgelegt weiter: evtl gestartetes ontime beenden Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
rumsgurke
ewiger Beginner


Verfasst am:
02. Mai 2007, 20:31
Rufname: André

Tabelle(n) statt Tabelle100 - Tabelle(n) statt Tabelle100

Nach oben
       Version: Office XP (2002)

Nabend, noch ne Frage, darf man statt

Code:

Set wks1 = Tabelle100
...
...
...
Set wks1 = Tabelle101
...
...
...
Set wks1 = Tabelle102
...
...
...
u.s.w.    bis Tabelle114


auch so schreiben:

Code:

Dim n As Interger

For n = 100 To 114
Set wks1 = Tabelle(n)
...
...
...
Next


wenn mal angenommen der Code bei den Pünktchen immer der selbe und nacheinander auf 15 Tabellenblättern ausgeführt werden soll? Oder muss
das dann in einen Array, da kenne ich mich nämlich noch überhaupt nicht mit aus?

Danke und Gruß Andre

_________________
Um so mehr ich VBA lerne, um so mehr weiß ich, das ich erst sehr wenig davon weiß.
Nepumuk
VB / VBA Programmierer


Verfasst am:
02. Mai 2007, 20:56
Rufname: Max
Wohnort: Dusseldoof


AW: Tabelle(n) statt Tabelle100 - AW: Tabelle(n) statt Tabelle100

Nach oben
       Version: Office XP (2002)

Hallo Andre,

das könntest du z.B. so machen:

Code:
Public Sub test()
    Dim objSheet As Worksheet
    Dim sngIndex As Single
    For sngIndex = 1 To 14
        Set objSheet = Choose(sngIndex, Tabelle1, Tabelle2, Tabelle3, _
            Tabelle4, Tabelle5, Tabelle6, Tabelle7, Tabelle8, Tabelle9, _
            Tabelle10, Tabelle11, Tabelle12, Tabelle13, Tabelle14)
           
        MsgBox objSheet.CodeName, 0&, "nur zum testen"
    Next
End Sub

_________________
De fontibus non est disputandum

Gruß
Nepumuk Cool
rumsgurke
ewiger Beginner


Verfasst am:
02. Mai 2007, 21:31
Rufname: André

AW: Tabelle(n) statt Tabelle100 - AW: Tabelle(n) statt Tabelle100

Nach oben
       Version: Office XP (2002)

Danke Nepomuk,

dann steht in objSheet.Codename beim Schleifendurchlauf
Tabelle1
Tabelle2
Tabelle3
...
Tabelle14

und ich müsste meine Zeile

Code:
.Cells(lngI, 6).Value = wks1.Cells(4, 9).Value


in

Code:
.Cells(lngI, 6).Value = objSheets.CodeName.Cells(4, 9).Value


umschreiben, die Set-Anweisung brauche ich dann garnicht mehr. Werde ich mal probieren
Gruß Andre

_________________
Um so mehr ich VBA lerne, um so mehr weiß ich, das ich erst sehr wenig davon weiß.
Nepumuk
VB / VBA Programmierer


Verfasst am:
02. Mai 2007, 21:36
Rufname: Max
Wohnort: Dusseldoof

AW: Tabelle(n) statt Tabelle100 - AW: Tabelle(n) statt Tabelle100

Nach oben
       Version: Office XP (2002)

Hallo Andre,

neeneeneenee so nicht. Das was die Msgbox liefert ist der CodeNAME also ein String und der konnte nur ausgegeben werden, weil vorher mit der Set - Anweisung ein Verweis auf das Objekt erstellt wurde.

_________________
De fontibus non est disputandum

Gruß
Nepumuk Cool
rumsgurke
ewiger Beginner


Verfasst am:
02. Mai 2007, 22:08
Rufname: André

AW: Tabelle(n) statt Tabelle100 - AW: Tabelle(n) statt Tabelle100

Nach oben
       Version: Office XP (2002)

So nun bin ich wirr, muss ich also anders fragen.
Ich habe 15 Tabellenblätter und befinde mich auf Nummer 16. Von dort will ich Inhalte von den 15 Tabellenblättern zusammenfassen. Inhalt eines Tabellenblattes wird durch eine For - Next - Schleife (Die habe ich hinbekommen) geholt, danach solls dann zum nächsten Tabellenblatt gehen und die Schleife kann sich wiederholen, Problem ist nur, das in der Schleife eben dann Tabelle100.Cells(r, c) und so steht und beim nächsten Durchlauf Tabelle101.Cells(r, c) stehen muss.
Per Set-Anweisung habe ich wks1 = Tabelle100 zugewiesen. Kann man in die Variable
wks1 denn eine Zählschleife einbauen ? So etwa:

Code:
For n = 1 To 15
wks1 = wks(n)
Next


Meine Schleife, die auf jeden der 15 Tabellenblätter laufen müsste sieht so aus:

Code:
Sub Daten_holen()
Dim r       As Integer
Dim lngI    As Long
Dim wks1    As Worksheet

Set wks1 = Tabelle100
For r = 9 To 39 Step 2
    If Not IsEmpty(wks1.Cells(r, 2)) Then
        With Tabelle1
            lngI = .Range("B65536").End(xlUp).Row + 1
            .Cells(lngI, 2).Value = wks1.Cells(2, 6).Value
            .Cells(lngI, 3).Value = wks1.Cells(4, 5).Value
            .Cells(lngI, 4).Value = Format$(wks1.Cells(r, 3).Value, "dd.mm.yy")  'Datum
            .Cells(lngI, 5).Value = wks1.Cells(r, 2).Value                       'Name
            .Cells(lngI, 6).Value = wks1.Cells(4, 9).Value
            .Cells(lngI, 7).Value = wks1.Cells(r, 5).Value
            .Cells(lngI, 8).Value = wks1.Cells(r + 1, 3).Value
            .Cells(lngI, 9).Value = wks1.Cells(r + 1, 4).Value
        End With
    End If
Next
Set wks1 = Tabelle101
For r = 9 To 39 Step 2
    If Not IsEmpty(wks1.Cells(r, 2)) Then
        With Tabelle1
            lngI = .Range("B65536").End(xlUp).Row + 1
            .Cells(lngI, 2).Value = wks1.Cells(2, 6).Value
            .Cells(lngI, 3).Value = wks1.Cells(4, 5).Value
            .Cells(lngI, 4).Value = Format$(wks1.Cells(r, 3).Value, "dd.mm.yy")    'Datum
            .Cells(lngI, 5).Value = wks1.Cells(r, 2).Value                         'Name
            .Cells(lngI, 6).Value = wks1.Cells(4, 9).Value
            .Cells(lngI, 7).Value = wks1.Cells(r, 5).Value
            .Cells(lngI, 8).Value = wks1.Cells(r + 1, 3).Value
            .Cells(lngI, 9).Value = wks1.Cells(r + 1, 4).Value
        End With
    End If
Next
Set wks1 = Nothing
End Sub

Nun kann ich das Ganze ja auch 15 mal schreiben, aber das ist nicht gerade edel
Gruß Andre

_________________
Um so mehr ich VBA lerne, um so mehr weiß ich, das ich erst sehr wenig davon weiß.
Nepumuk
VB / VBA Programmierer


Verfasst am:
02. Mai 2007, 23:28
Rufname: Max
Wohnort: Dusseldoof

AW: Tabelle(n) statt Tabelle100 - AW: Tabelle(n) statt Tabelle100

Nach oben
       Version: Office XP (2002)

Hallo Andre,

warum baust du mein Beispiel nicht einfach in deinen Code ein? Wenn du daran etwas nicht verstehst, dann frag halt.

Code:
Sub Daten_holen()

    Dim r        As Integer
    Dim lngI     As Long
    Dim wks1     As Worksheet
    Dim sngIndex As Single

    With Tabelle1
       
        lngI = .Cells(.Rows.Count, 2).End(xlUp).Row
       
        For sngIndex = 1 To 14

            Set wks1 = Choose(sngIndex, Tabelle100, Tabelle102, Tabelle103, _
                Tabelle104, Tabelle105, Tabelle106, Tabelle107, Tabelle108, Tabelle109, _
                Tabelle100, Tabelle111, Tabelle112, Tabelle113, Tabelle114)

            For r = 9 To 39 Step 2
           
                If Not IsEmpty(wks1.Cells(r, 2)) Then
                    lngI = lngI + 1
                    .Cells(lngI, 2).Value = wks1.Cells(2, 6).Value
                    .Cells(lngI, 3).Value = wks1.Cells(4, 5).Value
                    .Cells(lngI, 4).Value = Format$(wks1.Cells(r, 3).Value, "dd.mm.yy")  'Datum
                    .Cells(lngI, 5).Value = wks1.Cells(r, 2).Value                       'Name
                    .Cells(lngI, 6).Value = wks1.Cells(4, 9).Value
                    .Cells(lngI, 7).Value = wks1.Cells(r, 5).Value
                    .Cells(lngI, 8).Value = wks1.Cells(r + 1, 3).Value
                    .Cells(lngI, 9).Value = wks1.Cells(r + 1, 4).Value
                End If
               
            Next

        Next

    End With
   
    Set wks1 = Nothing
   
End Sub

_________________
De fontibus non est disputandum

Gruß
Nepumuk Cool
rumsgurke
ewiger Beginner


Verfasst am:
03. Mai 2007, 16:40
Rufname: André


AW: Tabelle(n) statt Tabelle100 - AW: Tabelle(n) statt Tabelle100

Nach oben
       Version: Office XP (2002)

Danke Nepomuk, ich habe ja nochmal gefragt weil ich es nicht verstanden hatte.

So sehe ich jetzt, was da passieren soll und verstehe auch wieder den Sinn. Habe es getestet und es funzt einwandfrei.
Ich bin eben noch ein ganz blutiger Anfänger und wage mich für das was ich bis jetzt kann, wohl zu weit vor.

Gruß Andre

_________________
Um so mehr ich VBA lerne, um so mehr weiß ich, das ich erst sehr wenig davon weiß.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Aktuelle (fortlaufende Uhrzeit) in Tabelle/ Formular 4 CBR900RR 2354 10. Jun 2005, 09:18
CBR900RR Aktuelle (fortlaufende Uhrzeit) in Tabelle/ Formular
Keine neuen Beiträge Excel Formeln: Werte von einer Tabelle in eine andere Übernehmen 11 Blue_Whirlwind 2311 22. Mai 2005, 17:18
Blue_Whirlwind Werte von einer Tabelle in eine andere Übernehmen
Keine neuen Beiträge Excel Formeln: Preisspiegel Teil 2 Bitte um Hilfe (Tabelle nun sichtbar) 8 M.Seelig 1147 18. Apr 2005, 14:53
M.Seelig Preisspiegel Teil 2 Bitte um Hilfe (Tabelle nun sichtbar)
Keine neuen Beiträge Excel Formeln: Zeile in fremder Tabelle ermitteln? 6 CaBe 1357 06. Apr 2005, 16:05
fl618 Zeile in fremder Tabelle ermitteln?
Keine neuen Beiträge Excel Formeln: Eine Tabelle umdrehen 4 Aloha 1274 04. Apr 2005, 10:50
Aloha Eine Tabelle umdrehen
Keine neuen Beiträge Excel Formeln: Datum in Excel Tabelle in Tagen darstellen 2 Unregistered 5101 22. März 2005, 20:49
Gast Datum in Excel Tabelle in Tagen darstellen
Keine neuen Beiträge Excel Formeln: Platzierungen aus einer Tabelle 24 Konz 3720 14. März 2005, 20:11
Konz Platzierungen aus einer Tabelle
Keine neuen Beiträge Excel Formeln: Tabelle nach Rang sortieren 4 Gast 1786 26. Feb 2005, 17:27
Gast Tabelle nach Rang sortieren
Keine neuen Beiträge Excel Formeln: Sortieren einer Tabelle 5 sandihau 635 05. Feb 2005, 11:24
Nepumuk Sortieren einer Tabelle
Keine neuen Beiträge Excel Formeln: Knifflige Frage bez. einer Tabelle, bitte lesen im Thread! 0 atomicfan 1253 31. Jan 2005, 15:23
atomicfan Knifflige Frage bez. einer Tabelle, bitte lesen im Thread!
Keine neuen Beiträge Excel Formeln: Wert aus einer anderen Tabelle holen 2 =KB=Shorty 4867 17. Nov 2004, 21:22
=KB=Shorty Wert aus einer anderen Tabelle holen
Keine neuen Beiträge Excel Formeln: Anzahl bei 2 Bedingungen aus Tabelle berechnen 6 Satanico 1723 21. Okt 2004, 14:48
Satanico Anzahl bei 2 Bedingungen aus Tabelle berechnen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Word VBA