Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

With-Anweisung mit Bezug

Forumthread: With-Anweisung mit Bezug

With-Anweisung mit Bezug
15.02.2003 12:51:42
Nepumuk
Hallo Forum,

kann mir einer erklären, warum folgende With-Anweisung so:

With Sheets(Tabelle.Cells(Zeile, Spalte))

nicht funktioniert (Laufzeitfehler 13 - Typen unverträglich)

aber so:

With Sheets(CStr(Tabelle.Cells(Zeile, Spalte)))

Tabelle.Cells(Zeile, Spalte) liefert einen Namen (z.B. Herman) zurück.

Gruß
Nepumuk


Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: With-Anweisung mit Bezug
15.02.2003 13:04:11
Philipp

Hallo

so muss es stehen...

With Sheets("Tabelle1").Cells(Zeile, Spalte)


Gruss Phil

Re: With-Anweisung mit Bezug
15.02.2003 13:13:44
Nepumuk

Hallo Phil,
falsch verstanden, ich referenziere damit auf ein Tabellenblatt in einer anderen Mappe das den Namen aus Celle(Zeile,Spalte) der Objektvariablen Tabelle trägt. Also, Tabelle.Cells(Zeile, Spalte) liefert mit den Namen "Herman" zurück und ich greife in der With-Anweisung auf die Tabelle "Herman" zu. Da es sich bei "Herman" eindeutig um einen String handelt, warum muss ich ihn dann mit CStr nochmal expizit in einen String umwandeln?
Gruß
Nepumuk

Anzeige
Re: With-Anweisung mit Bezug
15.02.2003 13:17:39
Nepumuk

Zum besseren Verständnis der komplette Code:

Option Explicit
Sub aktuallisieren()
Dim Arbeitsmappe As Workbook, gefunden As Boolean, Tabelle As Worksheet, TabelleI As Worksheet
Dim Tabellennamen As String, Zeile As Long, ZeileI As Long, Spalte As Integer
Application.ScreenUpdating = False
Set Tabelle = ThisWorkbook.Sheets("Namen")
For Each Arbeitsmappe In Workbooks
If Arbeitsmappe.Name = "einzeln.xls" Then gefunden = True: Exit For
Next Arbeitsmappe
If Not gefunden Then Workbooks.Open "D:\Eigene Dateien\Fremde Tabellen\einzeln.xls" Else Workbooks("einzeln.xls").Activate
For Each TabelleI In Workbooks("einzeln.xls").Sheets
TabelleI.Range("A3:K65536").Clear
Tabellennamen = Tabellennamen & TabelleI.Name & ","
Next TabelleI
For Zeile = 3 To Tabelle.Range("A65536").End(xlUp).Row
For Spalte = 2 To 5 Step 3
If InStr(1, Tabellennamen, Tabelle.Cells(Zeile, Spalte)) = 0 Then
Worksheets.Add
ActiveSheet.Name = Tabelle.Cells(Zeile, Spalte)
Tabellennamen = Tabellennamen & Tabelle.Cells(Zeile, Spalte) & ","
Tabelle.Rows("1:2").Copy Cells(1, 1)
End If
With Sheets(CStr(Tabelle.Cells(Zeile, Spalte)))
ZeileI = .Range("A65536").End(xlUp).Row + 1
Tabelle.Rows(Zeile).Copy .Rows(ZeileI)
With .Range(.Cells(ZeileI, 1), .Cells(ZeileI, 11)).Interior
.ColorIndex = 0
If ZeileI Mod 2 = 0 Then .Pattern = xlGray16 Else .Pattern = xlSolid
End With
.Columns.AutoFit
End With
Next
Next
With Application
.CutCopyMode = False
.ScreenUpdating = True
End With
Workbooks("einzeln.xls").Save
End Sub

Gruß
Nepumuk

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige