Variable übergeben

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Variable übergeben
von: Reimund
Geschrieben am: 14.11.2015 18:27:22

Hallo Cracks,
habe wieder mal meinem engen VBA Horizont erreicht.
Habe alles versucht die Variable MyRow ins Modul zu übernehmen.
Ist immer leer. Was muss ich a noch definieren. Hab´s mit Public usw versucht. Nix.
Jetzt schon meinen Kotau für die Antwort.
Reimund

Code Tabellenblatt "Liste"


Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Column = 1 Then
        myRow = Target.Row
    End If
    Call Emailsenden
End Sub

Makro Modul "Emailsenden"

Sub Emailsenden()
'Selektierten Satz aus Blatt Liste in Blatt Senden kopieren
    Sheets("Senden").Select
    Cells.Select ' alles löschen
    Selection.Delete Shift:=xlUp
    Sheets("Liste").Select
 
    Range("A" & MyRow & ":Z" & MyRow).Select
    
    
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Senden").Select
    Range("B1").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
End Sub

Bild

Betrifft: AW: Variable übergeben
von: Raphael H
Geschrieben am: 14.11.2015 18:31:18
Hallo Reimund,
du must die Variable im Modul ganz oben (ausserhalb der Sub) Public definieren, dann klappt es


Public myRow as Long
Sub ....
end sub


Bild

Betrifft: AW: Variable übergeben
von: Tino
Geschrieben am: 14.11.2015 18:33:19
Hallo,
man kann nicht erkennen wo myRow deklariert ist!

Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Column = 1 Then
        myRow = Target.Row
    End If
    Call Emailsenden(myRow)
End Sub
Sub Emailsenden(myRow&)
'Selektierten Satz aus Blatt Liste in Blatt Senden kopieren
    Sheets("Senden").Select
    Cells.Select ' alles löschen
    Selection.Delete Shift:=xlUp
    Sheets("Liste").Select
 
    Range("A" & MyRow & ":Z" & MyRow).Select
    
    
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Senden").Select
    Range("B1").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
End Sub
Zu Select usw...
http://www.online-excel.de/excel/singsel_vba.php?f=61
Gruß Tino

Bild

Betrifft: AW: Variable übergeben
von: Sepp
Geschrieben am: 14.11.2015 18:36:16
Hallo Reimund,
übergib die Zeile als Parameter.

' **********************************************************************
' Modul: Tabelle2 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 Then Call Emailsenden(Target.Row)
End Sub

' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub Emailsenden(Zeile As Long)
Sheets("Senden").Cells.Delete Shift:=xlUp
With Sheets("Liste")
  .Range("A" & Zeile & ":Z" & Zeile).Copy
  Sheets("Senden").Range("B1").PasteSpecial Paste:=xlPasteAll, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=True
End With
Application.CutCopyMode = False
End Sub

Gruß Sepp


Bild

Betrifft: AW: Variable übergeben
von: Reimund
Geschrieben am: 15.11.2015 18:16:10
Hallo ihr 3,
vielen Dank für die Antworten.
Mit "Public myRow as Long" hatte ich es schon probiert. Geht nicht.
Und auch das von Sepp habe ich übernommen. Wenn ich mir dann die Variable in Msgbox anzeigen lasse ist sie im Tabellencode richtig und in dem Modul dann 0.
Ich glaub´ ich geh´ in die Klappse.
Trotzdem, nochmals Dank.
Reimund

Bild

Betrifft: AW: Variable übergeben
von: Tino
Geschrieben am: 15.11.2015 21:15:37
Hallo,
ist Public myRow as Long in einem normalen Modul deklariert?
Gruß Tino

Bild

Betrifft: AW: Variable übergeben
von: Reimund
Geschrieben am: 16.11.2015 11:52:19
Hallo Timo,
sehr suspekt.
War im Modul 4, oben über der Prozedur.
Habe nichts weiter geändert, aber plötzlich geht es.
Ich weiß nicht warum, aber bin wohl ein ADAU ( Allerdümmster anzunehmender User)
Vielen Dank nochmals
Gruß aus Spreeathen
Reimund

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Variable übergeben"