Live-Forum - Die aktuellen Beiträge
Datum
Titel
06.12.2023 11:41:57
06.12.2023 10:11:06
Anzeige
Anzeige
HERBERS
Excel-Forum
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


Hallo Hans,
wenn ich die URLs richtig interpretiere, haben wir im Forum soeben die Zahl von 1 Million Beiträgen überschritten.
Herzlichen Glückwunsch zu dem Erfolg Deines "Babys"!
Gruß
Martin

Hallo Leute,
heute habe ich wieder mal ein einfaches Problem für Euch, an dem ich aber nicht weiter kommen:
Ich möchte die Arbeitsblätter in meiner Arbeitsmappe zählen. Das ist ja kein Problem (ThisWorkbook.sheets.count).
wenn das makro mehr als ein Arbeitsblatt zählt (also das Erge...

Hallo zusammen!
Ich habe da als blutiger Anfänger in VBA zwei Fragen:
1.) Wie kann ich in meiner Tabelle in jeder zweiten Spalte 4 leere Spalten einfügen lassen?
2.) Dann möchte ich unter den Inhalt der ersten fünf Spalten (A-E) den Inhalt der zweiten 5 Spalten (F-J) usw. In der grö...

Guten Morgen!
Ich hätte folgendes Problem: Ich erhalte automatisiert Exceltabellen, bei denen nicht alle Zellen einer Zeile gefüllt werden, wenn dort der Inhalt einer darüberliegenden Zeile stehen sollte. Zur Weiterverarbeitung muss ich aber diese Zellen mit den dazugehörigen Werten füllen....

Hallo,
google spuckt Zu "Excel" und "Häufigkeitslücken" lediglich 3 Treffer aus, die nicht gerade brauchbar für meine Aufgabe sind.
Ich muss für 3 Variablen eine Typisierung mit einer Häufigkeitslücke durchführen.
Hiermit bin ich fast gänzlich überfragt. Mit Quantilen hatte ich das...

Hallo zusammen,
ich habe eine lange Liste, in der in einer Spalte Daten stehen, wo ab und zu vorangehende Nullen nötig sind (mal eine - mal 2...etc.) - und manchmal auch keine.
Wie kann ich diese Zellen formatieren, das die vorangehenden "Nullen" nicht automatisch weggelassen werden?

Links zu Excel-Dialogen

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige