Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1156to1160
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
Inhaltsverzeichnis

Suche dringen nach einer Erklärung

Suche dringen nach einer Erklärung
Gregor
Hallo zusammen
Ich habe in einer Datei viele umfangreiche Makros. Ua. eruiere ich in vielen Makros Spalten-No, zB. mit:
Spalte_Nutzlänge = Worksheets("Tabelle1").Rows(1).Find("Nutzlänge", LookAt:=xlWhole).Column
Das funktioniert bestens, auch wenn die gesuchte Spalte mit dem Code "Columns("C:G").Hidden = True" ausgeblendet ist. Ich habe nun untenstehendes neues Makro geschrieben. Das funktiniert nur, wenn die Spalten eingeblendet sind, ansonsten erhalte ich die Meldung "Objektvariable oder With-Blockvariable nicht festgelegt". Schlimmer noch, nachdem ich dieses Makro gestartet habe, erscheint diese Fehlermeldung auch bei allen anderen Makros, sobald der Code Spalten-No eruieren aktiv wird und die gesuchte Spalte ausgeblendet ist. Bei eingeblendeten Spalten funktioniert es, aufgrund der vielen Spalten sind jedoch die Meisten ausgeblendet. Woran kann das liegen, ich finde keine Erklärung und somit auch keine Lösung. Die Variablen sind selbstverständlich zugewiesen.
Sub Test ()
Spalte_Nutzlänge = Worksheets(Tabellenblatt).Rows(1).Find("Nutzlänge", LookAt:=xlWhole).Column
Spalte_Kt = Worksheets(Tabellenblatt).Rows(1).Find("Kant", LookAt:=xlWhole).Column
With Worksheets(Tabellenblatt)
Set rng = .Columns(Spalte_Kt).Find(Kant, LookIn:=xlValues, LookAt:=xlWhole)
If Not rng Is Nothing Then
firstAddress = rng.Address
Zeile = rng.Row
ZeileEnd = IIf(IsEmpty(.Cells(Zeile + 1, 1)), IIf(IsEmpty(.Cells(.Cells(Zeile, 1).End( _
xlDown).Row - 1, Spalte_Nutzlänge)), .Cells(.Cells(Zeile, 1).End(xlDown).Row, Spalte_Nutzlänge).End(xlUp).Row, .Cells(Zeile, 1).End(xlDown).Row - 1), Zeile)
'--- bestimmt letzte Zeile Tabelle zum Einfügen
intLastRowPaste = Worksheets(Blattname).Cells(Rows.Count, Spalte_Nutzlänge).End(xlUp). _
Row + 1
'--- Kopieren
.Range(.Cells(Zeile, 1), .Cells(ZeileEnd, intLastColumn)).Copy Worksheets(Blattname). _
Cells(intLastRowPaste, 1)
Do
Set rng = .Columns(Spalte_Kanton).FindNext(rng)
Zeile = rng.Row
If rng.Address = firstAddress Then Exit Do
ZeileEnd = IIf(IsEmpty(.Cells(Zeile + 1, 1)), IIf(IsEmpty(.Cells(.Cells(Zeile, 1). _
End(xlDown).Row - 1, Spalte_Nutzlänge)), .Cells(.Cells(Zeile, 1).End(xlDown).Row, Spalte_Nutzlänge).End(xlUp).Row, .Cells(Zeile, 1).End(xlDown).Row - 1), Zeile)
'--- bestimmt letzte Zeile Tabelle zum Einfügen
intLastRowPaste = Worksheets(Blattname).Cells(Rows.Count, Spalte_Nutzlänge).End( _
xlUp).Row + 1
'--- Kopieren
.Range(.Cells(Zeile, 1), .Cells(ZeileEnd, intLastColumn)).Copy Worksheets(Blattname) _
.Cells(intLastRowPaste, 1)
Loop
End If
End With
End Sub
Wo liegt das Über dieser Ursache, ich bin am Verzweifeln und für eine Hilfe sehr dankbar.
Gregor

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Vermute, liegt an .Find! Versuch die klassische...
21.05.2010 18:29:19
Luc:-?
…Lösung mit einer Suchschleife, Gregor,…
For Each zelle In zellbereich… oder in der Art!
FroPf + Gruß, Luc :-?
AW: Suche dringen nach einer Erklärung
22.05.2010 01:44:49
Gerd
Hallo Gregor,
Zellen in ausgeblendeten Zeilen oder Spalten kann man nicht kopieren.
Sub test3()
Application.ScreenUpdating = False
Worksheets("Tabelle2").Columns("B:D").Hidden = False
Worksheets("Tabelle2").Columns("B:D").Hidden = True
Application.ScreenUpdating = True
End Sub
Gruß Gerd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige