Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Tabellenblätter von 1 bis 30 per VBA erzeugen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Tabellenblätter von 1 bis 30 per VBA erzeugen (3974 mal gelesen)
CADdoctor
Mitglied
Technischer Zeichner (Versorgungstechnik)


Sehen Sie sich das Profil von CADdoctor an!   Senden Sie eine Private Message an CADdoctor  Schreiben Sie einen Gästebucheintrag für CADdoctor

Beiträge: 313
Registriert: 12.05.2007

Software:
AutoCAD MEP 2013
Excellink 2013
Windows 7 x64 Pro SP 1
Office 2010 SP 1
Mozilla Firefox 13.0.1
Mozilla Thunderbird 13.0.1<P>Hardware:
ASUS P6T WS Professional
Intel Core i7-920, 4x 2.67GHz
PNY Quadro FX 1800
Kingston HyperX DIMM XMP Kit 6GB
Kingston HyperX SSD 120GB, SATA 6Gb/s

erstellt am: 13. Aug. 2010 10:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo!

Wie kann Ich in VBA automatisch Tabellenblätter erzeugen zB.: von 1 bis 30?

------------------
Mit freundlichen Grüßen

CADdoctor

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Oberli Mike
Ehrenmitglied V.I.P. h.c.
Dipl. Maschinen Ing.



Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3728
Registriert: 29.09.2004

Excel 2010
128GB SSD
Windows 7

erstellt am: 13. Aug. 2010 10:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADdoctor 10 Unities + Antwort hilfreich

Sowas?

For i = 5 To 1 Step -1
Set NewSheet = Worksheets.Add
NewSheet.Name = i
Next i

Gruss
Mike

------------------

The Power Of Dreams

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 13. Aug. 2010 10:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADdoctor 10 Unities + Antwort hilfreich

ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count), Count:=30

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info | Dateianhänge | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADdoctor
Mitglied
Technischer Zeichner (Versorgungstechnik)


Sehen Sie sich das Profil von CADdoctor an!   Senden Sie eine Private Message an CADdoctor  Schreiben Sie einen Gästebucheintrag für CADdoctor

Beiträge: 313
Registriert: 12.05.2007

Software:
AutoCAD MEP 2013
Excellink 2013
Windows 7 x64 Pro SP 1
Office 2010 SP 1
Mozilla Firefox 13.0.1
Mozilla Thunderbird 13.0.1<P>Hardware:
ASUS P6T WS Professional
Intel Core i7-920, 4x 2.67GHz
PNY Quadro FX 1800
Kingston HyperX DIMM XMP Kit 6GB
Kingston HyperX SSD 120GB, SATA 6Gb/s

erstellt am: 13. Aug. 2010 12:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke Oberli Mike!

Wie kann Ich deine Schleife mit meiner Summenschleife verknüpfen?

Es sollen Tabellenblätter von 100 bis 120 erzeugt werden!

zB.:
Tabellenblatt 100 sollen die Zahlen von 1 bis 45 mit der Zahlensumme 100 stehen.
Tabellenblatt 101 sollen die Zahlen von 1 bis 45 mit der Zahlensumme 101 stehen.
usw.


Mein Versuch die beiden Schleifen mit einander zu verbinden ist leider gescheitert!
Kann mir Bitte wer weiter Helfen.


Code:
Sub x()
  Dim a%, b%, c%, d%, e%, f%, i&, p%, z%

 
  For p = 120 To 100 Step -1
    Set NewSheet = Worksheets.Add
    NewSheet.Name = p
  Next p
 
  For a = 2 To 45
     If a = 3 Or a = 6 Or a = 7 Or a = 9 Or a = 18 Or a = 19 Or a = 26 Or a = 30 Or a = 33 Or a = 34 Or a = 41 Then GoTo Next_A
     For b = a + 2 To 45
        If b = 3 Or b = 6 Or b = 7 Or b = 9 Or b = 18 Or b = 19 Or b = 26 Or b = 30 Or b = 33 Or b = 34 Or b = 41 Then GoTo Next_B
        For c = b + 2 To 45
            If c = 3 Or c = 6 Or c = 7 Or c = 9 Or c = 18 Or c = 19 Or c = 26 Or c = 30 Or c = 33 Or c = 34 Or c = 41 Then GoTo Next_C
            For d = c + 2 To 45
              If d = 3 Or d = 6 Or d = 7 Or d = 9 Or d = 18 Or d = 19 Or d = 26 Or d = 30 Or d = 33 Or d = 34 Or d = 41 Then GoTo Next_D
              For e = d + 2 To 45
                  If e = 3 Or e = 6 Or e = 7 Or e = 9 Or e = 18 Or e = 19 Or e = 26 Or e = 30 Or e = 33 Or e = 34 Or e = 41 Then GoTo Next_E
                  For f = e + 2 To 45
                    If f = 3 Or f = 6 Or f = 7 Or f = 9 Or f = 18 Or f = 19 Or f = 26 Or f = 30 Or f = 33 Or f = 34 Or f = 41 Then GoTo Next_F
                    If a + b + c + d + e + f = p Then
                        i = i + 1
                        Cells(i, 1).Resize(, 6) = Array(a, b, c, d, e, f)
                    End If
Next_F:
                  Next
Next_E:
               Next
Next_D:
            Next
Next_C:
         Next
Next_B:
      Next
Next_A:
  Next
End Sub

------------------
Mit freundlichen Grüßen

CADdoctor

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 13. Aug. 2010 12:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CADdoctor 10 Unities + Antwort hilfreich

Deine Erste Schleife erstellt 20 Blätter -End, Anschliessend läuft die 2 Schleife und erzeugt die Zahlen -End.

Du musst die Zahlenerzeugung in deine erste Schleife Packen -next p, desweiteren sollte der Zähler i bei einem neuen Blatt wieder auf 0 zurückgesetzt werden.

Code:
Sub x()
  Dim a%, b%, c%, d%, e%, f%, i&, p%, z%


  For p = 120 To 100 Step -1
    Set NewSheet = Worksheets.Add
   
    NewSheet.Name = p

  For a = 2 To 45
    If a = 3 Or a = 6 Or a = 7 Or a = 9 Or a = 18 Or a = 19 Or a = 26 Or a = 30 Or a = 33 Or a = 34 Or a = 41 Then GoTo Next_A
    For b = a + 2 To 45
        If b = 3 Or b = 6 Or b = 7 Or b = 9 Or b = 18 Or b = 19 Or b = 26 Or b = 30 Or b = 33 Or b = 34 Or b = 41 Then GoTo Next_B
        For c = b + 2 To 45
            If c = 3 Or c = 6 Or c = 7 Or c = 9 Or c = 18 Or c = 19 Or c = 26 Or c = 30 Or c = 33 Or c = 34 Or c = 41 Then GoTo Next_C
            For d = c + 2 To 45
              If d = 3 Or d = 6 Or d = 7 Or d = 9 Or d = 18 Or d = 19 Or d = 26 Or d = 30 Or d = 33 Or d = 34 Or d = 41 Then GoTo Next_D
              For e = d + 2 To 45
                  If e = 3 Or e = 6 Or e = 7 Or e = 9 Or e = 18 Or e = 19 Or e = 26 Or e = 30 Or e = 33 Or e = 34 Or e = 41 Then GoTo Next_E
                  For f = e + 2 To 45
                    If f = 3 Or f = 6 Or f = 7 Or f = 9 Or f = 18 Or f = 19 Or f = 26 Or f = 30 Or f = 33 Or f = 34 Or f = 41 Then GoTo Next_F
                    If a + b + c + d + e + f = p Then
                        i = i + 1
                        Cells(i, 1).Resize(, 6) = Array(a, b, c, d, e, f)
                    End If
Next_F:
                  Next
Next_E:
              Next
Next_D:
            Next
Next_C:
        Next
Next_B:
      Next
Next_A:

Next
i = 0 'rücksetzen des zeilenzählers
Next p
End Sub


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADdoctor
Mitglied
Technischer Zeichner (Versorgungstechnik)


Sehen Sie sich das Profil von CADdoctor an!   Senden Sie eine Private Message an CADdoctor  Schreiben Sie einen Gästebucheintrag für CADdoctor

Beiträge: 313
Registriert: 12.05.2007

Software:
AutoCAD MEP 2013
Excellink 2013
Windows 7 x64 Pro SP 1
Office 2010 SP 1
Mozilla Firefox 13.0.1
Mozilla Thunderbird 13.0.1<P>Hardware:
ASUS P6T WS Professional
Intel Core i7-920, 4x 2.67GHz
PNY Quadro FX 1800
Kingston HyperX DIMM XMP Kit 6GB
Kingston HyperX SSD 120GB, SATA 6Gb/s

erstellt am: 13. Aug. 2010 13:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke Thomas!

Funktioniert genau so wie Ich es mir vorgestellt habe.

------------------
Mit freundlichen Grüßen

CADdoctor

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz