Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
1008to1012
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

Prüfe Tabelle für Tabelle nach bestimmten Inhalt

Prüfe Tabelle für Tabelle nach bestimmten Inhalt
15.09.2008 11:08:52
Tom
Hallo - schönen guten Morgen....
Ich habe in diesem Script einen Fehler, weis aber leider nicht wo. Eine Fehlermeldung als solches gibt es nicht aber das script macht halt nicht das was es soll.

Private Sub CommandButton5_Click()
Dim lngZ As Long
With Sheets("Mitarbeiterdaten")
Workbooks.Open kompletterpfad
For lngZ = 4 To .Cells(.Rows.Count, 7).End(xlUp).Row
If Not IsEmpty(.Cells(lngZ, 7)) Then
.Cells(lngZ, 9) = IIf((.Range("N2") = "X"), "Ja", "Nein")
End If
Next lngZ
End With
End Sub


Zur Erklärung:
In "Mitarbeiterdaten" stehen untereinander in der Spalte 7 die Namen für die in "Workbooks.Open kompletterpfad" zu findenden Tabellen. Jetzt soll in jeder Tabelle in "Workbooks.Open kompletterpfad" nachgesehen werden, ob in N2 ein "X" drin steht oder nicht. Wenn Ja, dann soll in "Mitarbeiterdaten" in der Spalte 9 ein "Ja" oder ein "Nein" zu finden sein.
Wo hab ich denn mein Denkfehler?
Der Tom

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfe Tabelle für Tabelle nach bestimmten Inhalt
15.09.2008 11:31:52
Tino
Hallo,
versuche es mal so.
Ungetestet!!!!
Option Explicit 
Private Sub CommandButton5_Click() 
Dim MeineDatei As Workbook 
Dim lngZ As Long 
    
   With ThisWorkbook.Sheets("Mitarbeiterdaten") 
   Set MeineDatei = Workbooks.Open(kompletterpfad) 
       
      For lngZ = 4 To .Cells(.Rows.Count, 7).End(xlUp).Row 
         If Not IsEmpty(.Cells(lngZ, 7)) Then 
          .Cells(lngZ, 9) = IIf((MeineDatei.Sheets(1).Range("N2") = "X"), "Ja", "Nein") 
         End If 
      Next lngZ 
   End With 
 
'MeineDatei.Close True 
Set MeineDatei = Nothing 
End Sub 


Beachte in MeineDatei.Sheets(1), die Tabelle anzupassen wo Deine Daten stehen!
Gruß Tino

Anzeige
AW: Prüfe Tabelle für Tabelle nach bestimmten Inhalt
15.09.2008 11:51:00
Tino
Hallo,
habe mir Deine Frage noch mal genauer durchgelesen.
So wie ich diese verstehe, müsste es so gehen.
Modul Modul1
Option Explicit 
 
Private Sub CommandButton5_Click() 
Dim MeineDatei As Workbook 
Dim lngZ As Long 
     
   With ThisWorkbook.Sheets("Mitarbeiterdaten") 
   Set MeineDatei = Workbooks.Open(kompletterpfad) 
        
      For lngZ = 4 To .Cells(.Rows.Count, 7).End(xlUp).Row 
         If Not IsEmpty(.Cells(lngZ, 7)) Then 
          .Cells(lngZ, 9) = IIf((MeineDatei.Sheets(.Cells(lngZ, 7)).Range("N2") = "X"), "Ja", "Nein") 
         End If 
      Next lngZ 
   End With 
  
'MeineDatei.Close True 
Set MeineDatei = Nothing 
End Sub 


Gruß Tino

Anzeige
AW: Prüfe Tabelle für Tabelle nach bestimmten Inhalt
15.09.2008 12:08:00
Tom
Hallo Tino,
Ich habe es so eingebaut und erhalte aber einen Laufzeitfehler 13
Typen unverträglich

Private Sub CommandButton5_Click()
Dim lngZ As Long
With ThisWorkbook.Sheets("Mitarbeiterdaten")
Workbooks.Open ("Mitarbeiterbewertung.xls")
For lngZ = 4 To .Cells(.Rows.Count, 7).End(xlUp).Row
If Not IsEmpty(.Cells(lngZ, 7)) Then
.Cells(lngZ, 9) = IIf((Workbooks("Mitarbeiterbewertung.xls").Sheets(.Cells(lngZ, 7)). _
Range("N2") = "X"), "Ja", "Nein")
End If
Next lngZ
End With
End Sub


So würde es wohl ohne Variablen aussehen. Wir machen das mal ohne Variablen, dann wirds einfacher...das kann ich ja danach wieder ändern.
Der tom

Anzeige
AW: Prüfe Tabelle für Tabelle nach bestimmten Inhalt
15.09.2008 12:55:56
Tino
Hallo,
habe dies mal nachgebaut, so geht es.
Modul Modul1
Option Explicit 
 
Private Sub CommandButton5_Click() 
Dim MeineDatei As Workbook 
Dim lngZ As Long 
Dim Pfad As String 
Pfad = "J:\1 Forum\Mitarbeiterbewertung.xls" 'Pfad+Datei 
   With ThisWorkbook.Sheets("Mitarbeiterdaten") 
   Set MeineDatei = Workbooks.Open(Pfad) 
        
      For lngZ = 4 To .Cells(.Rows.Count, 7).End(xlUp).Row 
         If Not IsEmpty(.Cells(lngZ, 7)) Then 
          .Cells(lngZ, 9) = _
          IIf((MeineDatei.Sheets(.Cells(lngZ, 7).Value).Range("N2") = "X"), "Ja", "Nein") 
         End If 
      Next lngZ 
   End With 
  
'MeineDatei.Close False 'schließen ohne speichern 
Set MeineDatei = Nothing 
End Sub 


Wichtig, Du musst auch den Pfad mit übergeben!
Gruß Tino

Anzeige
AW: Prüfe Tabelle für Tabelle nach bestimmten Inhalt
15.09.2008 15:11:04
Tom
Vielen Dank fürs nachbauen!!!!
Also so geht es...hab es noch bischen für meine Bedürfnisse angepasst, aber genau so funktioniert es wunderbar!
Vielen Dank!!!
Der Tom

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige