Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Funzione VBA.mid

0 views
Skip to first unread message

IW1ERL

unread,
May 31, 2007, 1:03:43 PM5/31/07
to
Ciao a tutti
ho visto in un programma la funzione VBA.mid al posto della *solita*
mid.
Potete spiegarmi la differenza?
Grazie
Roberto (IW1ERL)

Bruno Campanini

unread,
May 31, 2007, 3:18:12 PM5/31/07
to
"IW1ERL" <rober...@yahoo.com> wrote in message
news:1180631023.3...@g4g2000hsf.googlegroups.com...

MID è Worksheet Function ed è anche, in VBA,
Function (ritorna un valore) e Statement (read/write).
La sintassi è la stessa.

Bruno (i4CZS)

IW1ERL

unread,
Jun 1, 2007, 5:32:28 AM6/1/07
to
On 31 Mag, 21:18, "Bruno Campanini" <B...@gmail.com> wrote:
> MID è Worksheet Function ed è anche, in VBA,
> Function (ritorna un valore) e Statement (read/write).
> La sintassi è la stessa.
>
> Bruno (i4CZS)

Grazie Bruno, [ot] anche tu radioamatore?
intendevo chiedere la differenza, ma sempre in VBA (non parlavo di di
Worksheet Function) tra mid e VBA.mid che ho trovato in un listato di
programma
Grazie a tutti e Ciao
Roberto (IW1ERL)


Norman Jones

unread,
Jun 1, 2007, 6:07:59 AM6/1/07
to
Ciao Roberto,

Nel caso della funzione Mid, non credo che ci sia
una differenza tra l'uso con o senza il riferimento alla
libreria VBA (la cosisdetta 'type library').

Comunque, puo' essere molto utile di utilizzare un
riferimento esplicito al type library.

Ad esempio, alla testa di un modulo standard, e prima
di qualsiasi codice, prova:

Option Base 1

'=============>>
Public Sub Tester()
Dim Arr As Variant
Dim Arr2 As Variant

Arr = VBA.Array("Pippo", "Pluto", "Paperino")
Arr2 = Array("Pippo", "Pluto", "Paperino")

MsgBox "Arr(1) = " & Arr(1) _
& vbNewLine & vbNewLine & _
"Arr2(1) = " & Arr2(1), _
Buttons:=vbInformation, _
Title:="DEMO"
End Sub
'<<=============

Ora riprova la procedura ma cancella la dichiarazione:

Option Base 1

Vedrai che nel primo caso, i risultati sarebbero
Pluto e Pippo; nel secondo caso i risultati
sarebbero Pluto e Pluto.

Quindi, per una soluzione piu' robusta, sarebbe
consigliabile di utilizzare sempre VBA.Array. In
questo modo, i risultati sarebbero independenti
dagli settagi dell'utente.

Comunque, ripeto, AFAIK (per quel che ne so
io), nel caso della funzione Mid, non credo che
ci sia una differenza.


---
Regards,
Norman
Microsoft Excel MVP


eliano

unread,
Jun 1, 2007, 6:29:01 AM6/1/07
to

"IW1ERL" ha scritto:

Ciao Roberto, ciao Bruno, ciao Norman.
Potresti essere così gentile da postare quel "listato del programma", sempre
che non sia qualcosa di mostruoso a livello dimensionale ?
Grazie
Eliano (I5API) (API = Associazione Pirati Italiani) :-8)

IW1ERL

unread,
Jun 1, 2007, 6:45:54 AM6/1/07
to
> Ciao Roberto, ciao Bruno, ciao Norman.
> Potresti essere così gentile da postare quel "listato del programma", sempre
> che non sia qualcosa di mostruoso a livello dimensionale ?
> Grazie
> Eliano (I5API) (API = Associazione Pirati Italiani) :-8)

Quello che mi ha incuriosito faceva parte di un progetto (tedesco)
molto complesso ma posso postare la piccola procedura che includeva il
VBA.mid.
Eccola:
Public Function GetJahr() As String
Dim jahr As String
Dim monat As String
Dim tag As String
Dim datum As String

datum = Date

If VBA.InStr(datum, "/") > 0 Then
monat = VBA.Mid(datum, 1, VBA.InStr(datum, "/") - 1)
datum = VBA.Mid(datum, VBA.InStr(datum, "/") + 1)
tag = VBA.Mid(datum, 1, VBA.InStr(datum, "/") - 1)
jahr = VBA.Mid(datum, VBA.InStr(datum, "/") + 1)
Else
jahr = VBA.Mid(datum, 7)
End If

GetJahr = jahr
End Function

Non chiedetemi a cosa serve :-)

Roberto (IW1ERL)


eliano

unread,
Jun 1, 2007, 7:03:00 AM6/1/07
to

"IW1ERL" ha scritto:

Ciao Roberto.
Scusa ma mi vien che ridere.:-))
Forse dipende dalle mie scarse conoscenze del Vba, ma quella funzione serve
solo per sapere in che anno ci troviamo.
Prova a copiare quella funzione in un modulo e quindi scrivi, ad esempio, in
A1 la formula: =GetJahr() e vedrai apparire nella cella 2007.
Scusa il tono scherzoso e buon appetito a tutti.
Eliano

Bruno Campanini

unread,
Jun 1, 2007, 8:06:47 AM6/1/07
to
"eliano" <eli...@discussions.microsoft.com> wrote in message
news:2ACF8967-A795-4848...@microsoft.com...

[...]


> Eliano (I5API) (API = Associazione Pirati Italiani) :-8)

Quant'è la quota?
Voglio iscrivermi anch'io...

Bruno

eliano

unread,
Jun 1, 2007, 9:21:00 AM6/1/07
to

"Bruno Campanini" ha scritto:

Ciao Bruno.
Si tratta di una associazione assolutamente virtuale, per la quale non
esiste nè quota, nè elenco di aderenti, nè sede principale, nè struttura
piramidale; è formata da appassionati che tendono a comportarsi correttamente
in frequenza, riuscendo a raggiungere risultati identici o addirittura
superiori a quelli che possono ottenere radioamatori dotati di attrezzature
strepitose e di regolare licenza.
l'API (associazione pirati italiani) è una associazione caratterizzata da
libertà e da correttezza estrema ed è diversa dall'ARI (associazione
rompiscatole italiani che poi sarebbe una associazione di radioamatori
legalmente riconosciuta che tu dovresti ben conoscere, dato che mi pare di
capire che non ne fai parte [:-8)]), formata da veri amatori, da tecnici
autocostruttori di apparati e di antenne, il che oggi presuppone conoscenze
tecniche notevoli.
Incidentalmente la storia ci dice che quando Marconi effettuò il primo
collegamento internazionale c'erano per lo meno altri DUE aderenti all'API in
frequenza, risultati ovviamente sconosciuti; entrambi riuscirono a farsi
ascoltare Oltreoceano. Questo ovviamente senza nulla togliere al nostro
Grande Guglielmo, al quale il mondo moderno deve moltissimo.
Per la quota comunque, segui il principio funebre: Non fiori ma opere di
bene. HI come dicono in 27.
Cordialissimamente
Eliano

Bruno Campanini

unread,
Jun 1, 2007, 9:33:40 AM6/1/07
to
"eliano" <eli...@discussions.microsoft.com> wrote in message
news:95F51C80-BD6A-4D0F...@microsoft.com...

Ok, tutto chiaro.
Pensavo si trattasse di un'API relativa al software...
Mi sarei candidato per una carica...

Ciao
Bruno

0 new messages