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

Globaler Array

Globaler Array
29.02.2008 14:22:00
Fred
Hallo,
bisher habe ich Zwischenvariablen immer irgendwo in Sheets kopiert und dann darüber wieder darauf zugegriffen. Eigentlich sollte das aber ja einfacher mit ARRAYS gehen. Dazu habe ich eine Frage:
Folgende Schleife kopiert mir bestimmte Tabellen in ein neues Sheet (ist nur ein Auszug, die Schleife funktioniert aber - zumindest gibt es keine Fehlermeldung):

Public Sub copytablesforprint()
Dim i As Integer
Dim druckbereich, drucksheets
Dim anzdb As Integer
Dim letztezeile As Integer
Dim sPrinter As String
Application.ScreenUpdating = False
'Berichte_drucken.Visible = False
' HIER WIRD FESTGELEGT, WO SICH ZU KOPIERENDE TABELLEN BEFINDEN
drucksheets = Array("GuV", "GuV", "Bilanz", "Bilanz", "KFR", "KFR") '
druckrange = Array("B10:M45", "B49:M76", "B10:M72", "B47:M60", "B10:M54", "B47:M60")
anzdb = Application.CountA(druckrange) ' Anzahl der verschiedenen Druckbereiche
' Erstelle temporäres Sheet [Sheets("tempdrucken")]
Application.DisplayAlerts = False
On Error Resume Next
Sheets("tempdrucken").Delete
Worksheets.Add
ActiveSheet.Name = "tempdrucken"
Application.DisplayAlerts = True
' Kopiere gewünschten Tabellen in temporäres Sheet
letztezeile = 0 ' Initialisierung der Variablen
Sheets("tempdrucken").Activate
nseiten = 1
For i = 1 To anzdb
If Berichte_drucken.Controls("Checkbox" & i).Value = True Then
'Sheets(drucksheets(i - 1)).Visible = xlsheetsvisible
'Sheets(drucksheets(i - 1)).Range(druckrange(i - 1)).Select
'Selection.SpecialCells(xlCellTypeVisible).Select
'Selection.Copy
Sheets(drucksheets(i - 1)).Range(druckrange(i - 1)).Copy
With ActiveSheet.Cells(letztezeile + 2, 2)
.PasteSpecial Paste:=xlValues
.PasteSpecial Paste:=xlFormats
End With
Application.CutCopyMode = False
If i 


Auf den Array "zeilenindex" möchte ich in anderen Makros wieder zugreifen können. Ich habe diesen deshalb in einem Modul folgendermaßen definiert
Public zeilenindex As Variant
Leider kann ich aber in einem anderen Makro nicht darauf zugreifen. Was mache ich falsch? Definiere ich den Array falsch, oder "fülle" ich ihn falsch? Für Hilfe wäre ich dankbar!!
Gruß
Fred

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

Betreff
Datum
Anwender
Anzeige
AW: Globaler Array
29.02.2008 14:51:02
Renee
Hi Fred,
zumindest gibt es keine Fehlermeldung
klar, nimm diese Zeile raus: On Error Resume Next
Schreib als allererste Zeile in jedem Modul: Option Explicit
... und du wirst dich wundern...
Dein Array wird z.B. nirgends dimensioniert! Dein Code läuft durch, aber x-Befehle nicht!
GreetZ Renée

AW: Globaler Array
29.02.2008 15:05:46
Fred
Hallo Renée,
vielen Dank für die schnelle Antwort. Das kannte ich alles noch nicht! Hilft enorm weiter!
Meine On Error Resume Next Zeile habe ich, um keine Fehlermeldung zu erhalten, falls es das Sheet nicht gibt. Wie schalte ich die Fehlermeldungen danach wieder ein? Geht das mit On Error GoTo 0?
Ich habe den Array mit Redim zeileindex(1 to anzdb, 1 to 1) jetzt dimensioniert. Kann ich dem Array jetzt auch standardmäßig den Wert 0 zuweisen, so dass in jeder Zelle vom Array 0 steht?
Vielen Dank für Deine Hilfe.
Gruß
Fred

Anzeige
AW: Globaler Array
29.02.2008 15:17:56
Renee
Hi Fred,
Wenn du mit Sicherheit weisst, dass eine Codezeile einen Fehler verursachen könnte, denn du mit Sicherheit im folgenden Code ignorieren kannst, dann so:

Dein sauberer, fehlerfreier Code
On Error Resume Next
DeineCodeZeileDieEinenFehlerVerursachenKönnte
On Error Goto 0
Dein sauberer restlicher Code


GreetZ Renée
GreetZ Renée

AW: Globaler Array
29.02.2008 15:42:44
Fred
Hi Renée,
vielen Dank für Deine Hilfe!
Gruß
Fred

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige