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

range auswählen - laufzeitfehler

range auswählen - laufzeitfehler
18.09.2006 07:34:57
manuela
guten morgen
ich habe einen arbeitsplan. mit meinem makro lese ich die personalnummern aus dem aktiven monat, öffne damit das detailblatt der mitarbeiter und möchte dort die formeln des aktiven monats durch werte ersetzen. damit ich weiss, welchen bereich ich auf dem mitarbeiterplan selektieren muss, fülle ich rng ab. mit rng.select erhalte ich allerdings auf dem mitarbeitersheet einen laufzeitfehler. danke fürs feedback
manuela
Dim iAnz As Integer
Dim rng As Range
Dim Monat As String
Dim Mitarbeiter As String
Monat = ActiveSheet.Name
Application.DisplayAlerts = False
Application.ScreenUpdating = False
ActiveWorkbook.Unprotect PW
If Monat = "Aug" Then
Set rng = Range("A214:W244")
End If
If Monat = "Sep" Then
Set rng = Range("A245:W274")
End If
usw.
Sheets(Monat).Select
Range("A5").Select
For iAnz = 1 To 30
ActiveCell.Offset(1, 0).Select
If ActiveCell.Value >= 1 And ActiveCell.Value Mitarbeiter = ActiveCell.Offset(0, 3).Value
Sheets(Mitarbeiter).Select
rng.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets(Monat).Select
End If
Next iAnz

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

Betreff
Datum
Anwender
Anzeige
AW: range auswählen - laufzeitfehler
18.09.2006 07:47:01
Matthias
Hallo Manuela,
rng bezieht sich ja auch auf das vorher aktive Blatt.
versuch's mal mit
Range(rng.Address).Select
Selection.Copy
bzw. ohne Select:
Range(rng.Address).Copy
oder du definierst gleich rng als String und weist der Variablen die Berechsnamen zu:

Dim rng As String
If Monat = "Aug" Then
rng = "A214:W244"
End If
If Monat = "Sep" Then
rng = "A245:W274"
End If
Range(rng).Select
usw.

Gruß Matthias
P.S.: Das mit den Monaten geht eleganter mit der Select Case-Anweisung.
AW: range auswählen - laufzeitfehler
18.09.2006 07:57:41
manuela
hallo matthias
herzlichen dank. funktioniert perfekt. select case kenne ich gar nicht. wie wäre dann da die syntax.
besten dank
manuela
Anzeige
AW: range auswählen - laufzeitfehler
18.09.2006 08:02:47
Matthias
Hallo Manuela,

Select Case Monat
Case "Aug": rng = "A214:W244"
Case "Sep": rng = "A245:W274"
' usw.
'wenn von den oberen Wert noch nichts übereingestimmt hat:
Case Else: rng = "A1:A2" ' diese Zeile kannst du auch weglassen
End Select

Näheres in der VBA-Hilfe: Im VB-Editor Cursor auf "Select" positionieren und F1 drücken.
Gruß Matthias
AW: range auswählen - laufzeitfehler
18.09.2006 08:10:18
manuela
hallo matthias
herzlichen dank. werde ich gleich umsetzen.
schöne woche
manuela

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige