Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: ---> 4. September: Office-Treffen Rhein-Ruhr <-
Excel Makro - Hilfe
Gehe zu Seite 1, 2  Weiter
zurück: Frage zu Arrays weiter: Benutzer gebundene eingabe Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Gast



Verfasst am:
08. März 2010, 11:38
Rufname:

Excel Makro - Hilfe - Excel Makro - Hilfe

Nach oben
       Version: Office 2003

Hallo,

ich will ein Makro in Excel erstellen.

Das habe ich auch schon hinbekommen.

Das Problem ist jetzt, wenn die Zeilen in Tabelle1 ergänzt werden, also 614, 615 usw.

Das festgelegte Makro kopiert mir ja nur die Zellen bis 613.

Es soll aber immer bis 2 Zeilen über "Anzahl" kopieren.

Hat jemand eine Idee?

Die Excel-Datei und eine Aufzeichnung meines Problems (Video) findet ihr hier:

http://ul.to/zson4p

Ich hoffe ihr versteht mein Problem und könnt mir helfen.

Danke schonmal.
Gast



Verfasst am:
08. März 2010, 11:41
Rufname:


AW: Excel Makro - Hilfe - AW: Excel Makro - Hilfe

Nach oben
       Version: Office 2003

Hallo,

würdest Du uns mal das Skript hier reinstellen? Auf Deine Datei kann ich leider nicht zugreifen!

LG Gerd
anton8
Im Profil kannst Du frei den Rang ändern


Verfasst am:
08. März 2010, 12:13
Rufname:

AW: Excel Makro - Hilfe - AW: Excel Makro - Hilfe

Nach oben
       Version: Office 2003

Ich habe hier das Aufzeichnungsvideo nochmal hochgeladen.

Das müsste jetzt eigentlich klappen.

Ich hoffe, ihr könnt mir so helfen:

http://www.vidup.de/v/YX2O4/
bst
Programmierer


Verfasst am:
08. März 2010, 12:16
Rufname: Bernd
Wohnort: Ilsfeld

AW: Excel Makro - Hilfe - AW: Excel Makro - Hilfe

Nach oben
       Version: Office 2003

Auch Hallo,

versuche das mal so.

P.S.: Wie bzw. mit welchem Programm hast Du das denn aufgezeichnet?

cu, Bernd
--
Code:
Option Explicit

Sub x()
   With Worksheets("Tabelle1")
      .Range(("A4"), .Range("A4").End(xlDown).Offset(, 12)).Copy Worksheets("Tabelle2").Range("A4")
   End With
End Sub
anton8
Im Profil kannst Du frei den Rang ändern


Verfasst am:
08. März 2010, 12:56
Rufname:


AW: Excel Makro - Hilfe - AW: Excel Makro - Hilfe

Nach oben
       Version: Office 2003

Ich habe das mit dem Programm CamStudio aufgezeichnet und dann auf www.vidup.de hochgeladen.

Wie muss ich das Skrip abändern?

Ich habe jetzt identische (der Aufbau) Tabellen wie die Tabelle1

also:

Tabelle1
Tabelle2
Tabelle3

Ich will jetzt in Tabelle4 das Makro anwenden.

In Tabelle4 sollen dann untereinander die Zeilen aus Tabelle1, Tabelle2 und Tabell3 aufgelistet werden.
bst
Programmierer


Verfasst am:
08. März 2010, 13:20
Rufname: Bernd
Wohnort: Ilsfeld

AW: Excel Makro - Hilfe - AW: Excel Makro - Hilfe

Nach oben
       Version: Office 2003

Hi,

versuche das mal so. CamStudio schau ich mir mal an Smile

cu, Bernd
--
Code:
Option Explicit

Sub x()
   Dim wsDst As Worksheet
   Dim lngZeile As Long
   Dim varItem As Variant
   Dim rngSrc As Range
   
   Set wsDst = Worksheets("Tabelle4")
   With wsDst
      lngZeile = .Cells.SpecialCells(xlCellTypeLastCell).Row
      If lngZeile >= 4 Then .Range("A4", .Cells(lngZeile, 1)).EntireRow.Delete
      lngZeile = 4
   End With
   For Each varItem In Array("Tabelle1", "Tabelle2", "Tabelle3")
      With Worksheets(varItem)
         Set rngSrc = .Range(("A4"), .Range("A4").End(xlDown).Offset(, 12))
         rngSrc.Copy wsDst.Cells(lngZeile, 1)
         lngZeile = lngZeile + rngSrc.Rows.Count
      End With
   Next
End Sub
anton8
Im Profil kannst Du frei den Rang ändern


Verfasst am:
08. März 2010, 13:44
Rufname:

AW: Excel Makro - Hilfe - AW: Excel Makro - Hilfe

Nach oben
       Version: Office 2003

Danke schön,

genau so habe ich mir das vorgestellt. SUPER

2 Punkte habe ich allerdings noch:

1.
ich will in Tabelle4 noch eine Sortierung hinzufügen.

Es soll erst nach Spalte K (absteigend) dann nach L (absteigend) und zum Schluss nach Spalte A (aufsteigend) sortiert werden.

Kann man das in das Makro noch einbauen?

2. Wie würde das Skrip aussehen, wenn nach Zufall sortiert wird, also die Zeilen wild durcheinander (Mix)?
bst
Programmierer


Verfasst am:
08. März 2010, 14:07
Rufname: Bernd
Wohnort: Ilsfeld

AW: Excel Makro - Hilfe - AW: Excel Makro - Hilfe

Nach oben
       Version: Office 2003

Hi,

so?

P.S. keine PNs mehr bitte.

cu, Bernd
--
Code:
Option Explicit

Sub x()
   Dim wsDst As Worksheet
   Dim lngZeile As Long
   Dim varItem As Variant
   Dim rngSrc As Range
   
   Set wsDst = Worksheets("Tabelle4")
   With wsDst
      lngZeile = .Cells.SpecialCells(xlCellTypeLastCell).Row
      If lngZeile >= 4 Then .Range("A4", .Cells(lngZeile, 1)).EntireRow.Delete
      lngZeile = 4

      For Each varItem In Array("Tabelle1", "Tabelle2", "Tabelle3")
         With Worksheets(varItem)
            Set rngSrc = .Range(("A4"), .Range("A4").End(xlDown).Offset(, 12))
            rngSrc.Copy wsDst.Cells(lngZeile, 1)
            lngZeile = lngZeile + rngSrc.Rows.Count
         End With
      Next
   
      Set rngSrc = .Range(("A4"), .Range("A4").End(xlDown).Offset(, 12))
      rngSrc.Sort Key1:=.Range("K4"), Order1:=xlDescending, _
                  Key2:=.Range("L4"), Order2:=xlDescending, _
                  Key3:=.Range("A4"), Order3:=xlAscending, Header:=xlNo
   End With
End Sub

Sub y()
   Dim lngLastRow As Long
   Dim rngSrc As Range
   
   With Worksheets("Tabelle4")
      lngLastRow = .Range("A4").End(xlDown).Row
      .Range("N4:N" & lngLastRow).Formula = "=rand()"
      Set rngSrc = .Range(("A4"), .Cells(lngLastRow, 14))
      rngSrc.Sort Key1:=.Range("N4"), Order1:=xlDescending, Header:=xlNo
      .Columns("N:N").Delete
   End With
End Sub
anton8
Im Profil kannst Du frei den Rang ändern


Verfasst am:
08. März 2010, 14:55
Rufname:

AW: Excel Makro - Hilfe - AW: Excel Makro - Hilfe

Nach oben
       Version: Office 2003

Hat auch super geklappt, danke.

Allerdings soll das Mix-Makro (zufällige Sortierung) in Tabellle5 ausgeführt werden.

Dort kann es dann ja nicht mehr funktionieren.

Wie lautet das korrekte Makro?
bst
Programmierer


Verfasst am:
08. März 2010, 15:27
Rufname: Bernd
Wohnort: Ilsfeld

AW: Excel Makro - Hilfe - AW: Excel Makro - Hilfe

Nach oben
       Version: Office 2003

Hi,

Ändere in der Sub y die eine Zeile in:

With Worksheets("Tabelle5")

cu, Bernd
anton8
Im Profil kannst Du frei den Rang ändern


Verfasst am:
08. März 2010, 15:42
Rufname:

AW: Excel Makro - Hilfe - AW: Excel Makro - Hilfe

Nach oben
       Version: Office 2003

Ne, das klappt leider nicht.

Wenn ich das Makro in Tabelle5 ausführe, sehe ich, dass in Spalte N etwas gerechnet wird. Aber in Tabelle5 steht in Spalte A bis Spalte M ja noch nichts.

Das "x" Makro und das "y" Makro müssten zusammengefügt werden.

Sehe ich das richtig?
bst
Programmierer


Verfasst am:
08. März 2010, 20:46
Rufname: Bernd
Wohnort: Ilsfeld

AW: Excel Makro - Hilfe - AW: Excel Makro - Hilfe

Nach oben
       Version: Office 2003

Hi,

dann kopiere eben vorher den Inhalt von Tabelle4 nach Tabelle5. Wie wäre es denn mit etwas mehr Eigeninitiative?

cu, Bernd
--
Ungetestet:

Code:
Worksheets("Tabelle4").UsedRange.Copy Worksheets("Tabelle5").Range("A1")
anton8
Im Profil kannst Du frei den Rang ändern


Verfasst am:
08. März 2010, 22:36
Rufname:

AW: Excel Makro - Hilfe - AW: Excel Makro - Hilfe

Nach oben
       Version: Office 2003

Das klappt leider nicht.

Besser ist es, wenn das Makro aus Tabelle1, Tabelle2 und Tabelle3 die Daten herausholt und es in Tabelle5 beliebig sortiert.

Wie würde das Makro lauten?

Danke schonmal für die vielen, hilfreichen Antworten.
bst
Programmierer


Verfasst am:
09. März 2010, 00:05
Rufname: Bernd
Wohnort: Ilsfeld

AW: Excel Makro - Hilfe - AW: Excel Makro - Hilfe

Nach oben
       Version: Office 2003

Abend,

das Zusammen-Kopieren der habe ich Dir bereits oben codiert, alles was Du da nun tun musst ist es tabelle4 durch tabelle5 zu ersetzen.

Am Ende rufst Du y auf, oder kopierst den Inhalt von y darunter. Fertig.

cu, Bernd
anton8
Im Profil kannst Du frei den Rang ändern


Verfasst am:
09. März 2010, 09:34
Rufname:


AW: Excel Makro - Hilfe - AW: Excel Makro - Hilfe

Nach oben
       Version: Office 2003

Ich bekomme es leider nicht hin, die zwei Formeln zusammen zufügen.

Ich habe die Formel so abgeändert:

Option Explicit

Sub Tabelle5()
Dim wsDst As Worksheet
Dim lngZeile As Long
Dim varItem As Variant
Dim rngSrc As Range

Set wsDst = Worksheets("Tabelle5")
With wsDst
lngZeile = .Cells.SpecialCells(xlCellTypeLastCell).Row
If lngZeile >= 4 Then .Range("A4", .Cells(lngZeile, 1)).EntireRow.Delete
lngZeile = 4

For Each varItem In Array("Tabelle1", "Tabelle2", "Tabelle3")
With Worksheets(varItem)
Set rngSrc = .Range(("A4"), .Range("A4").End(xlDown).Offset(, 12))
rngSrc.Copy wsDst.Cells(lngZeile, 1)
lngZeile = lngZeile + rngSrc.Rows.Count
End With
Next

Dim lngLastRow As Long
Dim rngSrc As Range

With Worksheets("Tabelle5")
lngLastRow = .Range("A4").End(xlDown).Row
.Range("N4:N" & lngLastRow).Formula = "=rand()"
Set rngSrc = .Range(("A4"), .Cells(lngLastRow, 14))
rngSrc.Sort Key1:=.Range("N4"), Order1:=xlDescending, Header:=xlNo
.Columns("N:N").Delete
End With
End Sub
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
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 VBA (Makros): Makro zum Erstellen von Autoformen gesucht 16 Catzin 344 12. Apr 2010, 16:45
Catzin Makro zum Erstellen von Autoformen gesucht
Keine neuen Beiträge Excel VBA (Makros): Makro "Rücksetzten aller Filter bevor die Datei beendet 10 danijelson 328 02. März 2010, 14:57
Case Makro "Rücksetzten aller Filter bevor die Datei beendet
Keine neuen Beiträge Excel Auswertungen: Excel (Makro): Zellen ausschneiden und in neue Tabelle 1 Search 234 12. Feb 2010, 16:52
Alterweg Excel (Makro): Zellen ausschneiden und in neue Tabelle
Keine neuen Beiträge Excel VBA (Makros): Zellinhalte durch Makro vorgeben 9 makesi 210 14. Jan 2010, 10:31
kjot259 Zellinhalte durch Makro vorgeben
Keine neuen Beiträge Excel VBA (Makros): Makro: gibt es ein "like"? Auf Text in Zelle prüfe 4 geronimo89 326 24. Okt 2009, 19:49
geronimo89 Makro: gibt es ein "like"? Auf Text in Zelle prüfe
Keine neuen Beiträge Excel VBA (Makros): CSV Importieren per Makro 1 svenundmelanie2 238 23. Okt 2009, 12:48
bst CSV Importieren per Makro
Keine neuen Beiträge Excel VBA (Makros): In aufgezeichneter Makro die betroffenen Zellen variabel mac 6 Bieni 108 05. Jun 2009, 16:32
Gast In aufgezeichneter Makro die betroffenen Zellen variabel mac
Keine neuen Beiträge Excel VBA (Makros): Makro wartet nicht bis Datenbankabfrage durchgeführt wurde 0 PhalanX 104 13. Mai 2009, 10:16
PhalanX Makro wartet nicht bis Datenbankabfrage durchgeführt wurde
Keine neuen Beiträge Excel VBA (Makros): makro funktioniert nicht nach umbenennen 4 redgnu 234 15. Jan 2009, 17:12
redgnu makro funktioniert nicht nach umbenennen
Keine neuen Beiträge Excel VBA (Makros): Makro nach zelländerung ausführen 3 lillo 643 23. Dez 2008, 15:12
Toggi Makro nach zelländerung ausführen
Keine neuen Beiträge Excel VBA (Makros): Makro beim Öffnen jeder Datei automatisch ausführen 1 SqUaT 1054 22. Okt 2008, 22:44
Bamberg Makro beim Öffnen jeder Datei automatisch ausführen
Keine neuen Beiträge Excel VBA (Makros): Warum schmiert Makro ab? 0 Nils Noack 103 11. Sep 2008, 11:04
Nils Noack Warum schmiert Makro ab?
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Was ist eine Psychose?