Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Fehler im VBA-Code

Forumthread: Fehler im VBA-Code

Fehler im VBA-Code
21.07.2013 20:04:24
WalterK
Hallo,
ich benötige Eure Hilfe bei folgendem Code:
--> Der Code ist in einem allgemeinen Modul gespeichert
--> Er sucht eine bestimmte Spaltennummer in der Tabelle wsQB
--> Er wir gestartet aus der Tabelle wsNB
Er funktioniert soweit, allerdings nimmt er zur Bestimmung der gesuchten Spaltennummer nicht die Tabelle wsQB sondern die aktive Tabelle wsNB.
Was muss ich ändern, damit der Code auf die Tabelle wsQB zugreift?
Option Explicit
Sub Spaltennummer()
Dim wsQB As Worksheet
Dim wsNB As Worksheet
Dim lCol As Integer, b As Integer, c As Integer, Wert As Integer
Set wsNB = Worksheets("Namensbearbeitungstabelle")
Set wsQB = Worksheets(Worksheets("Namensbearbeitungstabelle").Range("B16").Value)
lCol = wsQB.UsedRange.SpecialCells(xlCellTypeLastCell).Column
Dim LCol8 As Integer
With wsQB
For b = 1 To lCol
For c = 1 To lCol
If c = b Then c = c + 1
If Cells(2, b) = Cells(2, c) And Cells(2, c + 1) = "" Then
Wert = c + 1
MsgBox Wert
'            LCol8 = Wert
'            wsNB.Range("F1") = LCol8
Exit Sub
End If
Next c
Next b
End With
End Sub

Besten Dank für Eure Hilfe und Servus, Walter

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler im VBA-Code
21.07.2013 20:06:02
Hajo_Zi
Set wsQB = Worksheets(Worksheets("Namensbearbeitungstabelle").Range("B16").Value)
die Variable ist nicht als Range Definiert.

AW: Fehler im VBA-Code
21.07.2013 20:10:57
WalterK
Hallo Hajo,
und wie mache ich das, dass die Variable als Range definiert ist?
Servus, Walter

Anzeige
AW: Fehler im VBA-Code
21.07.2013 20:12:58
Hajo_Zi
Hallo Walter,
Du willst die Variable doch als Worksheet einsetzen, warum jetzt Range?
Gruß Hajo

wenn schon With dann ... (Punkt) vor Cells
21.07.2013 20:10:21
Matthias
Hallo
Wenn Du scho With benutzt solltest Du auch Cells mit (Punkt) davor benutzen
Ungetestet:
With wsQB
For b = 1 To lCol
For c = 1 To lCol
If c = b Then c = c + 1
If .Cells(2, b) = .Cells(2, c) And .Cells(2, c + 1) = "" Then
Wert = c + 1
MsgBox Wert
'            LCol8 = Wert
'            wsNB.Range("F1") = LCol8
Exit Sub
End If
Next c
Next b
End With
Gruß Matthias

Anzeige
Danke Matthias, so passt es! Servus, Walter
21.07.2013 20:22:54
WalterK

gern geschehen,Walter :-) owT
21.07.2013 20:26:46
Matthias
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18