Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1828to1832
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

Left mit Variable ?

Left mit Variable ?
09.05.2021 06:09:41
Peter
Guten Morgen,
ich arbeite an einem Makro mit Prüfung für richtige Schreibweise:
Dazu habe ich einen Makroteil der auch funktioniert.

If Not Left(Cells(2, "AJ"), 10) = .Range("B82") Then
If Left(Cells(2, "AK"), 10) = .Range("B82") Then
MsgBox "AJ2 leer und AK2 nicht leer" _
& vbLf & "Abbruch"
End If
End If
Meine Frage: Kann ich den Bezug auf Zelle ".Range("B82") auch als Variable einsetzen?
Ich habe folgendes deklariert:
Dim ZkAJ As String
Dim ZkAK As string
ZkAJ = .Range("B82") '"KontoBasis"
ZkAK = .Range("B84") '"Schulkonto"
funktioniert aber leider nicht. Was mache ich hier falsch?
Gruss
Peter

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
.Range braucht vorher With
09.05.2021 06:25:43
lupo1
AW: .Range braucht vorher With
09.05.2021 06:33:21
Peter
Guten Morgen Lupo,
es ist With vorhanden und dies funktioniert auch.
Aber es funktiert nicht, wenn ich nachstehendes Makro verwende:

Dim ZkAJ As String
Dim ZkAK As String
ZkAJ = .Range("B82")  '"KontoBasis"
ZkAK = .Range("B84") '"Schulkonto"
If Not Left(Cells(2, "AJ"), 10) = ZkAJ Then
If Left(Cells(2, "AK"), 10) = ZkAK Then
MsgBox "AJ2 leer und AK2 nicht leer" _
& vbLf & "Abbruch"
End If
End If
Gruss
Peter
Prüfe mal B82 und B84 -im Code falsch geschrieben?
09.05.2021 06:53:28
lupo1
AW: Prüfe mal B82 und B84 -im Code falsch geschrieben?
09.05.2021 07:26:47
Peter
Hallo Lupo,
ist nicht falsch geschrieben - Debug.print zeigt richtiges Ergebnis.
Gruss
Peter
AW: Prüfe mal B82 und B84 -im Code falsch geschrieben?
09.05.2021 08:38:48
GraFri
Hallo Peter
Bei mir funktioniert nachstehender Code fehlerfrei.
Option Explicit

Sub Irgendwas()
Dim ZkAJ As String
Dim ZkAK As String
With Worksheets("Tabelle1")
ZkAJ = .Range("B82")  '"KontoBasis"
ZkAK = .Range("B84")  '"Schulkonto"
End With
If Not Left(Cells(2, "AJ"), 10) = ZkAJ Then
If Left(Cells(2, "AK"), 10) = ZkAK Then
MsgBox "AJ2 leer und AK2 nicht leer" & vbLf & "Abbruch"
End If
End If
End Sub

mfg GraFri
Anzeige
AW: Fehler bei End With
09.05.2021 11:04:04
Peter
Hallo GraFri,
besten Dank für Deine Hilfe. Deine Lösung funktioniert.
Der Fehler lag darin, dass ich das "End With" ganz ans Ende gestellt habe.
Gruss
Peter
AW: Prüfe mal B82 und B84 -im Code falsch geschrieben?
09.05.2021 11:06:13
Peter
Hallo Lupo,
besten Dank für Deine Hilfe. Der Fehler liegt bei "End With".
Diesen hatte ich ans Ende gestellt.
Gruss
Peter
AW: Left mit Variable ?
09.05.2021 10:43:57
Daniel
Hi
Ist jetzt schwer zu sagen, da der Code korrekt aussieht und wie andere schon festgestellt haben auch funktioniert.
Vielleicht hast du dich ja vertan und der Code passt nicht zu deiner Datei?
Das kann aber nur jemand beurteilen der den Code und die Datei kennt.
Referenzieren die Cells ohne Tabellenblattangabe davor auch auf das richtige Tabellenblatt?
Ich würde - wenn mehrere Blätter vorhanden sind - bei Cells und Range immer das Tabellenblatt angeben.
Gruß Daniel
Anzeige
AW: Left mit Variable ?
09.05.2021 11:05:31
Peter
Hallo Daniel,
besten Dank für Deine Hilfe. Der Fehler liegt bei "End With".
Diesen hatte ich ans Ende gestellt.
Gruss
Peter
AW: Left mit Variable ?
09.05.2021 11:16:11
Daniel
Das kann nicht die Ursache des Problems gewesen sein.
Da vor deinen beiden Cells in den IFs keine Punkte stehen, spielt es keine Rolle ob sie innerhalb oder außerhalb der WITH-Klammer stehen.
Stehen die Cells alleine, dh ohne Punkt davor und ohne Tabellenblattangabe, so beziehen sie sich entweder auf das aktive Tabellenblatt (Code steht in einem allgemeinen Modul) oder auf das Tabellenblatt des Moduls (Code steht in einem Tabellenblattmodul)
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige